07-唯一性约束
5.1.5 唯一性约束
唯一性约束(Unique Constraint)要求该列唯一,允许为空,但只能出现一个空值。唯一约束可以确保一列或者几列都不出现重复值。
非空约束的语法规则有如下两种情况。
⑴在定义完列之后直接指定唯一约束,语法规则如下。
字段名 数据类型 UNIQUE
【范例5-7】
定义数据表tb_dept2,指定部门的名称唯一,SQL语句如下。
CREATE TABLE tb_dept2 ( id INT(11)PRIMARY KEY, name VARCHAR(22)UNIQUE, location VARCHAR(50) );
⑵在定义完所有列之后指定唯一约束,语法规则如下。
[CONSTRAINT <约束名>] UNIQUE(<字段名>)
【范例5-8】
定义数据表tb_dept3,指定部门的名称唯一,SQL语句如下。
CREATE TABLE tb_dept3 ( id INT(11)PRIMARY KEY, name VARCHAR(22), location VARCHAR(50), CONSTRAINT STH UNIQUE(name) );
UNIQUE和PRIMARY KEY的区别:一个表中可以有多个字段声明为UNIQUE,但只能有一个PRIMARY KEY声明;声明为PRIMARY KEY的列不允许有空值,但是声明为UNIQUE的字段允许空值的存在。