允许空值

列的为空性决定表中的行是否可为该列包含空值。空值(或 NULL)不同于零 (0)、空白或长度为零的字符串(如 "")。NULL 的意思是没有输入。出现 NULL 通常表示值未知或未定义。例如,AdventureWorks 数据库的 Production.Product 表的 SellEndDate 列中的空值不表示商品没有销售结束日期。NULL 表示该日期未知或尚未设置。

ms189265.note(zh-cn,SQL.90).gif注意:
建议避免允许空值,因为空值会使查询和更新变得更复杂,还因为存在不能与可为空的列一起使用的其他列选项,如 PRIMARY KEY 约束。

如果插入一行,但没有为允许空值的列包括值,SQL Server 2005 数据库引擎 将提供 NULL 值,除非存在 DEFAULT 定义或 DEFAULT 对象。用关键字 NULL 定义的列也接受用户的 NULL 显式输入,不论它是何种数据类型或是否有默认值与之关联。NULL 值不应放在引号内,否则会被解释为字符串“NULL”而不是空值。

指定某一列不允许空值有助于维护数据的完整性,因为这样可以确保行中的列永远包含数据。如果不允许空值,用户向表中输入数据时必须在列中输入一个值,否则数据库将不接收该表行。

ms189265.note(zh-cn,SQL.90).gif注意:
定义了 PRIMARY KEY 约束或 IDENTITY 属性的列不允许空值。

请参阅

概念

空值
修改列属性

其他资源

CREATE TABLE (Transact-SQL)
ALTER TABLE (Transact-SQL)
DROP TABLE (Transact-SQL)

帮助和信息

获取 SQL Server 2005 帮助