位置:首页 > 数据库 > SQL在线教程 > SQL CHECK约束

SQL CHECK约束

检查(CHECK)约束允许条件来检查被输入到一个记录的值。如果条件计算结果为false,记录违反了约束,则不会被存储进入到表中。

示例:

例如,下面的SQL创建一个新的表名为CUSTOMERS,并添加了五列。在这里,我们添加使用AGE列的检查,这样就不能有18岁以下的任何客户:

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表已经创建, 然后将CHECK约束添加到AGE列,使用类似如下的声明:

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

还可以使用下面的语法,它支持命名的多个列的约束:

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

删除CHECK约束:

要删除CHECK约束,使用下面的SQL语法。此语法不在MySQL中使用:

ALTER TABLE CUSTOMERS
   DROP CONSTRAINT myCheckConstraint;