SQL CHECK 关键字
CHECK
CHECK 约束用于限制可以放入列中的值。
SQL CHECK on CREATE TABLE
以下 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');
删除 CHECK 约束
要删除 CHECK 约束,请使用以下 SQL:
SQL Server / Oracle / MS Access:
ALTER TABLE Persons DROP CONSTRAINT CHK_PersonAge;
MySQL:
ALTER TABLE Persons DROP CHECK CHK_PersonAge;