NOT NULL 和NULL

yipeiwu_com7年前PHP代码库
NOT NULL | NULL:指定该列是否允许为空。如果既不指定NULL也不指定NOT NULL,列被认为指定了NULL
在 MySQL 中, 
为一个 NOT NULL 字段设置 NULL 值 , 
它并不会出错, 
MySQL 会自动将 NULL值转化为该字段的默认值, 
那怕是你在表定义时没有明确地为该字段设置默认值 
:》一般来说MySQL会自动为你添加默认值的, 

比如 
为一个 NOT NULL 的 整型 赋 NULL 值, 
结果是 0 

CHAR 型 
-> ''空值 

DATATIME 
->'0000-00-00 00:00:00' 

等等
Top

2 楼UNICORN_BX(天天天蓝)回复于 2003-01-13 11:22:18 得分 0 也就是说,MySQL中NOT NULL并不是一个约束条件了. 

如果字段设置为NULL,则插入记录时没有给予该字段的值,那么MySQL自动用Default的值,如果没有Default,则无论是该字段是什么类型该字段值NULL. 

这是不是就是MySQL中NOT NULL和NULL所起到的作用,即当不为定义Default值的时候,给予的默认值的不同.

相关文章

搭建基于Docker的PHP开发环境的详细教程

搭建基于Docker的PHP开发环境的详细教程

现在很多开发者都使用Vagrant来管理他们的虚拟机开发环境,Vagrant确实很酷, 不过也有不少缺点(最主要的是它占用太多的资源)。在容器技术、Docker和更多类Docker技术出...

如何直接访问php实例对象中的private属性详解

前言 本文主要介绍了关于如何直接访问php实例对象中private属性的相关内容,在介绍关键部分之前,我们先回顾一下php面向对象的访问控制。 对属性或方法的访问控制,是通过在前面添加关...

php错误、异常处理机制(补充)

一、错误处理 异常处理: 意外,是在程序运行过程中发生的意料这外的事,使用异常改变脚本正常流程 PHP5中的一个新的重要特性 复制代码 代码如下: if(){ }else{ } try...

PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍

PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍

所有这些命令都衍生一个子进程,用于运行您指定的命令或脚本,并且每个子进程会在命令输出写到标准输出 (stdout) 时捕捉它们。 shell_exec() shell_exec() 命令...

php设计模式 DAO(数据访问对象模式)

复制代码 代码如下: <?php /** * 数据访问对象(Data Access Object) 示例 * * @create_date: 2010-01-04 */ class...