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。