我是mysql的新手。感谢您提前回答。
NULL 用于可以插入非值的字段,例如“拥有驾驶执照?” ?
ANULL
通常用于表明该值未知,或者该字段没有值。
如果您问某人是否有驾照,他们可能会说是 ( TRUE
) 或否 ( FALSE
)。但是,如果您还没有问他们,或者他们没有回答问题,那么您不知道 ( NULL
)。
很多时候,您希望禁止列包含NULL
. 这可以通过将列声明为 来完成NOT NULL
。
的用法NULL
是一个非常有争议的话题。在数据库范式的原始定义中,具有可为空的列意味着您的设计不在1NF中。较新的定义通常会放宽此约束。
是的,这是正确的。一些进一步的阅读。
编辑:由于您的问题的措辞有点含糊,这是我对问题的解释:您想知道列定义中 NULL 与 NOT NULL 的语义。在您的示例中,“有驾驶执照”,似乎 NULL 是一个合理的值,例如,如果尚未回答问题,那么您希望允许 NULL。在这种情况下,是的,使用 NULL(虽然它是隐含的,所以不使用 NOT NULL 就足够了)。