扫码一下
查看教程更方便
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;