Schema: NULL 列
适用于 ✅ 开源版 ✅ 专业版 ✅ 企业版
在大多数 RDBMS 中,任何列的默认可空性都是 NULL
,即使 NOT NULL
通常是一个更合理的默认值。 只要您知道您的数据不应该包含 NULL
值,那么请添加显式的 NOT NULL
约束。 这有以下好处
- 数据完整性:减少一个需要担心的数据不正确的情况。
- 文档: 即使您的客户端应用程序可能确保您永远不会在列中获得
NULL
值,但最好还是通过约束正式传达这一事实。 - 性能: 由于
NULL
是一个不可能的值,因此可以应用很多原本无法应用的优化。
例如
CREATE TABLE customer ( -- [...] phone TEXT, -- Here, the default of being nullable applies (in most RDBMS), but should it? address TEXT NULL, -- The address might optional, you can mark it as such, explicitly, in many RDBMS email TEXT NOT NULL -- Every customer needs an email, this isn't an optional field );
当一个值是可选的时,此规则显然不适用,在这种情况下,NULL
可能是理想的值。
反馈
您对此页面有任何反馈吗? 我们很乐意听到!