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 可能是理想的值。
反馈
您对此页面有任何反馈吗? 我们很乐意听到!