美文网首页
Mysql的NULL和空字符串

Mysql的NULL和空字符串

作者: doverxu | 来源:发表于2018-01-16 18:40 被阅读0次

1.插入NULL不一定为NULL
NULL是一个比较特殊的字段。在MySQL数据库中,在不同的情形下,NULL往往代表不同的含义。这是MySQL数据库的一种特性。在普通的字段中(字符型的数据),插入NULL就是NULL。但是如果将一个NULL的数据插入到TimeStamp类型的字段中,NULL就不一定为NULL。
比如,如果往TimeStamp类型的列中插入NULL值,则其代表的就是系统的当前时间。如果往auto_increment属性的列中插入NULL值的话,则系统会插入一个正整数。而如果在字符型数据的列中插入NULL的数据,则其插入的就是一个NULL。

2.NULL与空字符串‘’是不一样的类型
空字符串不占空间大小,而NULL是要占空间的,这就好比一杯真空和一杯空气的区别。
count(col)的结果会排除col为NULL的行,而不会排除空字符串。(count(*)会被优化,总是直接返回总行数的)

相关文章

网友评论

      本文标题:Mysql的NULL和空字符串

      本文链接:https://www.haomeiwen.com/subject/qlceoxtx.html