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值的时候,给予的默认值的不同.

相关文章

php输出反斜杠的实例方法

php输出反斜杠的实例方法

按常规写法,我们要输出反斜杠,那就在输出字符串里直接写上反斜杠的符号,但这样可以吗?我们尽管试一下。 运行这个代码的页面,发现页面报错了,报的是语法错误。 为什么会这样,从php文档...

PHP 实现代码复用的一个方法 traits新特性

在阅读yii2源码的时候接触到了trait,就学习了一下,写下博客记录一下。 自 PHP 5.4.0 起,PHP 实现了代码复用的一个方法,称为 traits。 Traits 是一种为类...

PHP5+UTF8多文件上传类

还有些功能没有加上去,如自动更名,图片处理等.可根据需要自己添加. USE: $up = new upfile(ROOT_PATH.'data/'.date("Ym",time()),a...

朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)

复制代码 代码如下: <? /*************************************** *******************************...

php中的抽象方法和抽象类

1、什么是抽象方法? 我们在类里面定义的没有方法提的方法就是抽象方法。所谓的没有方法体指的是,在声明的时候没有大括号以及其中的内容,而是直接在声明时在方法名后加上分号结束,另外在声明抽象...