SQL Server NOT NULL约束简介
SQL Server NOT NULL 约束只是指定列不能为 NULL 值。
以下示例为列创建一个具有 NOT NULL 约束的表: persons ,
它具有以下几个字段: first_name , last_name 和 email :
CREATE SCHEMA hr;
GO CREATE TABLE (
person_id INT IDENTITY PRIMARY KEY,
first_name VARCHAR(255) NOT NULL,
last_name VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
phone VARCHAR(20) );
请注意,上面几列中,将 NOT NULL 约束作为列约束。 默认情况下,如果未指定 NOT NULL 约束,则SQL Server将允许该列接受 NULL 。 在此示例中,只有 phone 列可以接受 NULL 。 1. 将NOT NULL约束添加到列 要将 NOT NULL 约束添加到现有列,可以分两步执行: 首先,更新表的值,以便列中没有 NULL 值:
UPDATE table_name SET column_name = WHERE column_name IS NULL;
其次,更改表以更改列的属性:
ALTER TABLE table_name ALTER COLUMN column_name data_type NOT NULL; SQL
例如,要将 NOT NULL 约束添加到 表的 phone 列,请使用以下语句。 首先,如果某些人员没有电话号码,则将电话号码更新为公司电话号码,例如, 0898-88889999 :
UPDATE SET phone = "0898-88889999"
WHER phone IS NULL;
第二步,修改 phone 列的属性为 NOT NULL :
ALTER TABLE ALTER COLUMN phone VARCHAR(20) NOT NULL;
2. 删除NOT NULL约束
要从列中删除 NOT NULL 约束,请使用 ALTER TABLE ALTER COLUMN 语句,如下所示:
ALTER TABLE table_name ALTER COLUMN column_name NULL;
ALTER TABLE ALTER COLUMN phone NULL;