我是mysql的新手。谢谢你的回答。
NULL用于插入非值CAN的字段,例如“拥有驾驶执照?” ?
答案 0 :(得分:3)
NULL
通常用于表示该值未知,或该字段没有值。
如果你问某人是否有驾驶执照,他们可能会说是(TRUE
)或不是(FALSE
)。但是如果你还没有问过他们,或者他们没有回答这个问题,那么你就不知道了(NULL
)。
通常,您希望禁止列包含NULL
。这可以通过将列声明为NOT NULL
来完成。
NULL
的使用是一个非常有争议的话题。在数据库的普通表单的原始定义中,具有可为空的列意味着您的设计不在1NF中。最近的定义通常会放宽这种约束。
答案 1 :(得分:1)
是的,没错。一些further reading。
编辑:由于你的问题的措辞有点模糊,这是我对这个问题的解释:你想知道列定义中NULL与NOT NULL的语义。在您的示例中,“具有驾驶执照”,似乎NULL是一个合理的值,例如,如果问题尚未得到解答,那么您希望允许NULL。在这种情况下,是的,使用NULL(尽管它是隐含的,所以它不足以使用NOT NULL)。