在sql数据库列中,除非我们使用NULL
指定,否则空字段将设置为NOT NULL
。使用一个而不是另一个有什么好处?谢谢!
答案 0 :(得分:10)
如果您需要在列中表示未知数据,请将其设为可为空。如果您将始终在列中包含数据,则最好使其不可为空,如
答案 1 :(得分:3)
当字段设置为NOT NULL时,它不能为空。这意味着您必须在插入记录时为该字段指定值。
答案 2 :(得分:1)
只是为了澄清你的观点。在任何符合ANSI ANSI标准的数据库中,空字符串都没有被设置为NULL。 NULL与空字符串不同。给定显式NULL值或没有值的列被指定为NULL。
以下是不使用NULL的一些优点。您保存用于区分NULL值的位的空间。您还可以更清楚地表达语句的含义,例如“field<> value”。此外,某些数据库无法优化语句,例如“coalesce(field,'')<> value”以使用索引。
有时,需要NULL,尤其是在插入不完整记录时。并且,因为默认列允许NULL,懒惰确保所有数据库中的几乎所有列都接受NULL值。
答案 3 :(得分:0)
NOT NULL
必须指定该字段的特定值。
当您需要为字段保留空值时,请使用NULL
。
当您想要禁用该字段的空值时,请使用NOT NULL
。大多数数据库使用NULL
- 值缓慢运行的其他目标。因此,如果您怀疑使用NOT NULL
。
答案 4 :(得分:0)
NOT NULL是一个约束,它确保每行的列中都有一个值。这是正确应用的好方法,因为在执行连接等操作时必须小心表中的空值,因为没有null等于任何其他null