在数据库中建表时,如果指定一个字段为NOT NULL,就意味着插入一条记录时,必须给这个字段赋值。
反之,该字段可以设置一个默认值,比如DEFAULT NULL,DEFAULT 0等等,这样如果插入一条记录时,该字段缺省,就会使用缺省值填充。当然你也可以为该字段主动插入一个值而忽略缺省值。
只要一个字段没有被指定为NOT NULL,就可以在插入时使用NULL值。NULL既可以用于int,也可以用于char,varchar,time等类型。数据库中的NULL不等于空的string ''
如果建表时一个字段没有指定为NOT NULL,也没有设置一个默认值,那么这个字段其实就是DEFAULT NULL的。可以建表后,通过“show create table”看到该字段后面被加上了DEFAULT NULL