SQL CHECK 关键字
CHECK
CHECK
约束限制可以放置在列中的值。
CREATE TABLE 上的 SQL CHECK
以下 SQL 在创建“Persons”表时,在“Age”列上创建了一个 CHECK 约束。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')
);
ALTER TABLE 上的 SQL CHECK
要在表已创建时为“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 约束)
To drop a CHECK constraint, use the following SQL (要删除 CHECK 约束,请使用以下 SQL 语句)
SQL Server / Oracle / MS Access
ALTER TABLE Persons
DROP CONSTRAINT CHK_PersonAge;
MySQL
ALTER TABLE Persons
DROP CHECK CHK_PersonAge;