搜索
MySQL 教程 / Check

Check

MySQL CHECK 约束

CHECK 约束用于限制列中可以放置的值范围。

如果您在列上定义 CHECK 约束,它将只允许该列的某些值。

如果您在表上定义 CHECK 约束,它可以根据行中其他列中的值来限制某些列中的值。


建表时创建 CHECK 约束

以下 SQL 在创建 "Persons" 表时在 "Age" 列上创建 CHECK 约束。 CHECK 约束确保一个人的年龄必须是 18 岁或以上:

CREATE TABLE Persons (     ID int NOT NULL,     LastName varchar(255) NOT NULL,     FirstName varchar(255),     Age int,     CHECK (Age>=18) );

要允许命名 CHECK 约束,并在多个列上定义 CHECK 约束,请使用 以下 SQL 语法:

CREATE TABLE Persons (     ID int NOT NULL,     LastName varchar(255) NOT NULL,     FirstName varchar(255),     Age int,     City varchar(255),     CONSTRAINT CHK_Person CHECK (Age>=18 AND City='Sandnes') );


CHECK ALTER TABLE

要在已创建的表 "Age" 列上创建 CHECK 约束,请使用以下 SQL:

ALTER TABLE Persons ADD CHECK (Age>=18);

要允许命名 CHECK 约束,并在多个列上定义 CHECK 约束,请使用 以下 SQL 语法:

ALTER TABLE Persons ADD CONSTRAINT CHK_PersonAge CHECK (Age>=18 AND City='Sandnes');

DROP CHECK

要删除 CHECK 约束,请使用以下 SQL:

ALTER TABLE Persons DROP CHECK CHK_PersonAge;