首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NULL与NOT NULL

NULL与NOT NULL
EN

Stack Overflow用户
提问于 2012-06-07 22:14:36
回答 5查看 10.8K关注 0票数 2

在sql数据库列中,除非使用NOT NULL指定,否则空字段将被设置为NULL。使用一种而不是另一种有什么好处?谢谢!

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-06-07 22:18:13

如果需要在列中表示未知数据,可以将其设置为可空。如果列中始终包含数据,则最好使其不可为空,如下所示

处理空值的

  1. 可能很烦人,而且counterintuitive
  2. It节省了一些空间
  3. 在某些数据库系统上,空值不会被索引。
票数 11
EN

Stack Overflow用户

发布于 2012-06-07 22:17:15

字段设置为NOT NULL时,不能为空。这意味着您必须在插入记录时为该字段指定一个值。

票数 3
EN

Stack Overflow用户

发布于 2012-06-07 22:19:49

只是为了澄清您的观点?在任何符合SQL的ANSI标准的数据库中,都不会将空字符串设置为NULL。NULL与空字符串不同。给出显式NULL值或没有值的列被指定为NULL。

下面是不使用NULLs的几个优点。您可以为用于区分空值的位节省空间。您还可以使语句的含义更加清晰,例如“字段<>值”。此外,有些数据库在优化诸如"coalesce(field,'') <> value“之类的语句以使用索引时遇到了问题。

有时,需要使用NULL,特别是在插入不完整的记录时。而且,因为默认情况下列允许空值,所以惰性确保了几乎所有数据库中的所有列都接受空值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10933639

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档