MySQL 教程
/ Check
Check
MySQL CHECK 約束
CHECK
約束用于限制列中可以放置的值范圍。
如果您在列上定義 CHECK
約束,它將只允許該列的某些值。
如果您在表上定義 CHECK
約束,它可以根據(jù)行中其他列中的值來限制某些列中的值。
建表時(shí)創(chuàng)建 CHECK
約束
以下 SQL 在創(chuàng)建 "Persons" 表時(shí)在 "Age" 列上創(chuàng)建 CHECK
約束。
CHECK
約束確保一個(gè)人的年齡必須是 18 歲或以上:
CREATE TABLE Persons
(
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CHECK (Age>=18)
);
要允許命名 CHECK
約束,并在多個(gè)列上定義 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
要在已創(chuàng)建的表 "Age" 列上創(chuàng)建 CHECK
約束,請使用以下 SQL:
ALTER TABLE Persons
ADD CHECK (Age>=18);
要允許命名 CHECK
約束,并在多個(gè)列上定義 CHECK
約束,請使用 以下 SQL 語法:
ALTER TABLE Persons
ADD CONSTRAINT CHK_PersonAge CHECK (Age>=18 AND City='Sandnes');
DROP CHECK
要?jiǎng)h除 CHECK
約束,請使用以下 SQL:
ALTER TABLE Persons
DROP CHECK CHK_PersonAge;