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;