SQL CHECK 关键字
CHECK
CHECK
约束限制了可以放在列中的值。
SQL CHECK on CREATE TABLE
下面的 SQL 在 "Age" 列上创建一个 CHECK 约束,当"Persons" 表已创建。 CHECK 约束确保您不能有任何低于 18 岁的人:
MySQL:
CREATE TABLE Persons
(
Age int,
CHECK (Age>=18)
);
SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
Age int CHECK (Age>=18)
);
要允许命名 CHECK 约束,并在多个列上定义 CHECK 约束,请使用以下 SQL 语法:
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
Age int,
City varchar(255),
CONSTRAINT CHK_Person CHECK (Age>=18 AND City='Sandnes')
);
SQL CHECK on ALTER TABLE
要在表已创建时在 "Age" 列上创建 CHECK 约束,请使用以下 SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CHECK (Age>=18);
要允许命名 CHECK 约束,并在多个列上定义 CHECK 约束,请使用以下 SQL 语法:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT CHK_PersonAge CHECK (Age>=18 AND City='Sandnes');
DROP a CHECK Constraint
要删除 CHECK 约束,请使用以下 SQL:
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT CHK_PersonAge;
MySQL:
ALTER TABLE Persons
DROP CHECK CHK_PersonAge;