在sql数据库列中,除非使用NOT NULL指定,否则空字段将被设置为NULL。使用一种而不是另一种有什么好处?谢谢!
发布于 2012-06-07 22:18:13
如果需要在列中表示未知数据,可以将其设置为可空。如果列中始终包含数据,则最好使其不可为空,如下所示
处理空值的
发布于 2012-06-07 22:17:15
字段设置为NOT NULL时,不能为空。这意味着您必须在插入记录时为该字段指定一个值。
发布于 2012-06-07 22:19:49
只是为了澄清您的观点?在任何符合SQL的ANSI标准的数据库中,都不会将空字符串设置为NULL。NULL与空字符串不同。给出显式NULL值或没有值的列被指定为NULL。
下面是不使用NULLs的几个优点。您可以为用于区分空值的位节省空间。您还可以使语句的含义更加清晰,例如“字段<>值”。此外,有些数据库在优化诸如"coalesce(field,'') <> value“之类的语句以使用索引时遇到了问题。
有时,需要使用NULL,特别是在插入不完整的记录时。而且,因为默认情况下列允许空值,所以惰性确保了几乎所有数据库中的所有列都接受空值。
https://stackoverflow.com/questions/10933639
复制相似问题