MYSQL中的NULL和NOT NULL

时间:2012-06-27 01:12:45

标签: mysql

我是mysql的新手。谢谢你的回答。

NULL用于插入非值CAN的字段,例如“拥有驾驶执照?” ?

2 个答案:

答案 0 :(得分:3)

NULL通常用于表示该值未知,或该字段没有值。

如果你问某人是否有驾驶执照,他们可能会说是(TRUE)或不是(FALSE)。但是如果你还没有问过他们,或者他们没有回答这个问题,那么你就不知道了(NULL)。

通常,您希望禁止列包含NULL。这可以通过将列声明为NOT NULL来完成。

NULL的使用是一个非常有争议的话题。在数据库的普通表单的原始定义中,具有可为空的列意味着您的设计不在1NF中。最近的定义通常会放宽这种约束。

答案 1 :(得分:1)

是的,没错。一些further reading

编辑:由于你的问题的措辞有点模糊,这是我对这个问题的解释:你想知道列定义中NULL与NOT NULL的语义。在您的示例中,“具有驾驶执照”,似乎NULL是一个合理的值,例如,如果问题尚未得到解答,那么您希望允许NULL。在这种情况下,是的,使用NULL(尽管它是隐含的,所以它不足以使用NOT NULL)。