一般建表时,如果列没有约定为not null 时,数值中是可以出现null的
比如建表时 id int not null
对列id的约定not null ,其实它主要的作用是id列的数据中不会出现NULL,这样你查找数据时就不需要 id IS NULL来判定,
空字符串''和null是两个概念 所以
id =''
id IS NULL
是不一样的。
not null 会有负面影响,当你要插入数值是NULL时,实际插的是根据列的类型变化的
char 会是 ''
int 会是 0
datetime 会是 '0000-00-00 00:00:00'
所以要根据需要而定。这也就是 not null 一般和default一起配合使用的。