365Tools
    发布时间:2024-04-05 20:30:02
SQL CHECK 约束(检查性约束)用来限制字段的取值范围。您可以在 CHECK 约束中添加限制条件,只有满足这些条件的值才允许进入该字段。
CREATE TABLE website (
    id      INT              NOT NULL   AUTO_INCREMENT,
    name    VARCHAR(20)      NOT NULL,
    url     VARCHAR(30),
    age     TINYINT UNSIGNED NOT NULL CHECK(age
其它一些常见用法:
weight NUMERIC(9, 2) CHECK( weight>0 AND weight
sex CHAR(6) CHECK( sex='male' OR sex='female' )
CREATE TABLE website (
    id      INT              NOT NULL   AUTO_INCREMENT,
    name    VARCHAR(20)      NOT NULL,
    url     VARCHAR(30),
    age     TINYINT UNSIGNED NOT NULL CHECK(age
或者写作:
CREATE TABLE website (
    id      INT              NOT NULL   AUTO_INCREMENT,
    name    VARCHAR(20)      NOT NULL,
    url     VARCHAR(30),
    age     TINYINT UNSIGNED NOT NULL,
    alexa   INT UNSIGNED     NOT NULL,
    uv      FLOAT                       DEFAULT '0',
    country CHAR(3)          NOT NULL ,
    PRIMARY KEY (id),
    CONSTRAINT myCheck CHECK(age
myCheck 为自定义的约束名字。
如果您已经创建了 website 表,并且希望向 age 字段添加约束,则可以使用下面的语句:
ALTER TABLE website
MODIFY age TINYINT UNSIGNED NOT NULL CHECK(age
如果您希望给多个字段添加约束,可以使用下面的语法:
ALTER TABLE website
ADD CONSTRAINT myCheck CHECK(age
	删除约束
要想删除 CHECK 约束,请使用下面的语法:
ALTER TABLE website
DROP CONSTRAINT myCheck;
myCheck 是自定义的约束名字。注意,该语法不适用于 MySQL。