目录

SQL CHECK 关键字


CHECK

这个CHECK约束限制可以放置在列中的值。


创建表时的 SQL 检查

创建 "Persons" 表时,以下 SQL 在 "Age" 列上创建 CHECK 约束。 CHECK 约束确保您不能有任何 18 岁以下的人:

MySQL:

CREATE TABLE Persons (
    Age int,
    CHECK (Age>=18)
);

SQL Server / Oracle / MS 访问:

CREATE TABLE Persons (
    Age int CHECK (Age>=18)
);

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

MySQL / SQL Server / Oracle / MS 访问:

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 访问:

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

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

MySQL / SQL Server / Oracle / MS 访问:

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

删除检查约束

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

SQL Server / Oracle / MS 访问:

ALTER TABLE Persons
DROP CONSTRAINT CHK_PersonAge;

MySQL:

ALTER TABLE Persons
DROP CHECK CHK_PersonAge;