MySQL:为什么默认为NULL而不是空?

Web*_*net 1 mysql

为什么要将字段默认为NULL而不是将值保留为空?它只是这样你可以查询IS NULL

我特别询问INT或其他数字数据类型

Luk*_*keH 8

因为NULL和空之间存在语义差异.

如果字段为空,您如何区分以下内容?

  1. 该值已知为空
  2. 价值未知

NULL是为了:如果你不知道价值那么使用NULL; 如果您知道值 - 空或不 - 那么使用它.