SQL NOT NULL 约束
SQL NOT NULL 约束
NOT NULL 约束强制列不接受 NULL 值。这强制字段始终包含值,意味着您不能在不向此字段添加值的情况下插入新记录或更新记录。
默认情况下,列可以包含 NULL 值。
CREATE TABLE 上的 NOT NULL
要在创建表时定义 NOT NULL 约束,请在列名的数据类型后添加 NOT NULL。
以下 SQL 创建一个 Persons 表,并确保 ID、LastName 和 FirstName 列不能接受 NULL 值:
实例
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255) NOT NULL,
Age int
);
ALTER TABLE 上的 NOT NULL
要在现有表上定义 NOT NULL 约束,请使用 ALTER TABLE 并在列名的数据类型后添加 NOT NULL。
以下 SQL 语句在 Persons 表创建后,向 Age 列添加了 NOT NULL 约束:
SQL Server / MS Access 语法:
ALTER TABLE Persons ALTER COLUMN Age int NOT NULL;
MySQL 语法:
ALTER TABLE Persons MODIFY COLUMN Age int NOT NULL;
Oracle 10G+ 语法:
ALTER TABLE Persons MODIFY Age int NOT NULL;
移除 NOT NULL 约束
要从列中移除 NOT NULL 约束(让列再次接受 NULL 值),请使用以下语法:
SQL Server / MS Access 语法:
ALTER TABLE Persons ALTER COLUMN Age int NULL;
MySQL 语法:
ALTER TABLE Persons MODIFY COLUMN Age int NULL;
Oracle 10G+ 语法:
ALTER TABLE Persons MODIFY Age int NULL;