我在字段NOT NULL中设置默认值。 sql如下。
insert into table_name () values ()
我预计这个SQL应该被MySQL拒绝,因为字段限制了NULL。 但是,该字段的值为“”(空字符串)。
然后,我尝试了另一个sql。
insert into table_name (name) values (NULL)
由于此sql被拒绝,因此未插入任何值。
MySQL似乎区分了NULL和“”。我是否必须避免使用诸如“values()”之类的第一个SQL?
答案 0 :(得分:1)
对于一个好的做法,总是使列不为空,并在创建表时设置默认值。
如果您未提供值,则在插入时,将为该列分配默认值。
答案 1 :(得分:0)
我是否必须在设置为NOT NULL的字段中设置默认值?
是如果您正在执行INSERT
,其中您不会将任何值设置为NOT NULL列
和
如果您在INSERT
上的非NULL列上提供值,则NO 不再需要。
你可以参考这个
http://dev.mysql.com/doc/refman/5.0/en/data-type-defaults.html