创建数据库的时候,对某个字段定义了 NOT NULL,但是,在写入数据的时候,空字符串''
竟然也能写入成功。
有人能给我解释一下 NULL 和 NOT NULL 到底是什么意思呢?
解决方案
空 (NULL) 值表示数值未知。空值不同于空白或零值。没有两个相等的空值。比较两个空值或将空值与任何其它数值相比均返回未知,这是因为每个空值均为未知。
在写入数据的时候,空字符串'' 也是一个确定的值,所以就算你定义了 NOT NULL 也可以被写入。
创建数据库的时候,对某个字段定义了 NOT NULL,但是,在写入数据的时候,空字符串''
竟然也能写入成功。
有人能给我解释一下 NULL 和 NOT NULL 到底是什么意思呢?
空 (NULL) 值表示数值未知。空值不同于空白或零值。没有两个相等的空值。比较两个空值或将空值与任何其它数值相比均返回未知,这是因为每个空值均为未知。
在写入数据的时候,空字符串'' 也是一个确定的值,所以就算你定义了 NOT NULL 也可以被写入。