为什么要将字段默认为NULL而不是将值保留为空?是否只是这样您可以查询IS NULL
?
我特别询问INT
或其他数字数据类型
答案 0 :(得分:8)
因为NULL
和空白之间存在语义差异。
如果字段为空,您如何区分以下内容?
这就是NULL
的用途:如果您不知道该值,请使用NULL
;如果您知道该值 - 是否为空 - 则使用它。
答案 1 :(得分:1)
MySQL中没有“空”这样的概念。
例如,int列是整数或NULL。
如果没有为int列指定默认值,如果尝试插入新行而未指定此列的内容,则mysql将引发错误。
答案 2 :(得分:0)
定义“将值保留为空”。空值 为空。如果你的意思是空= 0,那么考虑一个帐户(明智的钱)。您可以拥有一个0美元的帐户,但您也可以没有帐户(null)。 0和null之间存在差异。