MySQL CHECK 约束
MySQL CHECK 约束
CHECK
约束用于限制可以放置在列中的值范围。
如果在列上定义 CHECK
约束,则只允许该列使用某些值。
如果在表上定义 CHECK
约束,则可以根据行中其他列的值来限制某些列中的值。
在 CREATE TABLE 中使用 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')
);
在 ALTER TABLE 中使用 CHECK
要创建 CHECK
约束在 "Age" 列上,当表已经创建,使用以下 SQL
ALTER TABLE Persons
ADD CHECK (Age>=18);
要允许命名 CHECK
约束,以及在多个列上定义 CHECK
约束,请使用以下 SQL 语法
ALTER TABLE Persons
ADD CONSTRAINT CHK_PersonAge CHECK (Age>=18 AND City='Sandnes');
删除 CHECK 约束
要删除 CHECK
约束,请使用以下 SQL
ALTER TABLE Persons
DROP CHECK CHK_PersonAge;