SQL CHECK 约束

CHECK 约束使条件能够检查输入到记录中的值。如果条件为假,则记录违反约束并且不会被添加进表中。

示例

例如,以下SQL 语句创建一个名为 CUSTOMERS 的新表并添加五列。在这里,我们对 AGE 列添加了一个 CHECK 约束,使 AGE >= 18,这样就不能添加任何 18 岁以下客户记录到 CUSTOMER表中。

CREATE TABLE CUSTOMERS(
   ID   INT              NOT NULL,
   NAME VARCHAR (20)     NOT NULL,
   AGE  INT              NOT NULL CHECK (AGE >= 18),
   ADDRESS  CHAR (25) ,
   SALARY   DECIMAL (18, 2),       
   PRIMARY KEY (ID)
);

如果已经创建了 CUSTOMERS 表,那么要向 AGE 列添加 CHECK 约束,需要使用 ALTER TABLE 语句来更改表。

ALTER TABLE CUSTOMERS
   MODIFY AGE INT NOT NULL CHECK (AGE >= 18 );

我们还可以使用以下语法,它也支持在多列中添加约束

ALTER TABLE CUSTOMERS
   ADD CONSTRAINT myCheckConstraint CHECK(AGE >= 18);

删除检查约束

要删除 CHECK 约束,请使用以下 SQL 语法。此语法不适用于 MySQL。

ALTER TABLE CUSTOMERS
   DROP CONSTRAINT myCheckConstraint;

查看笔记

扫码一下
查看教程更方便