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