1.简介
UNIQUE 约束唯一标识数据库表中的每条记录。
UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。
PRIMARY KEY 拥有自动定义的 UNIQUE 约束。
请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。
2.创建表时,添加唯一约束
1
2
3
4
5
6
7
8
|
----创建表,并添加uniuqe 约束
create table Teacher(
ID int identity(1,1),
Name nvarchar(10) unique,
Code varchar(2) not null,
primary key (ID)
)
go
|
插入相同数据会抛出异常
1
2
|
--违反了 UNIQUE KEY 约束 'UQ__Teacher__737584F60519C6AF'。
不能在对象 'dbo.Teacher' 中插入重复键。
|
3.修改表,为表中的某一列或多列添加唯一约束
1
2
3
4
5
6
7
|
----修改表,添加uniquei 约束
---标识某一列不能重复
alter table Teacher
add constraint un_code unique(Code);
---标识多列不能同时重复
alter table Teacher
add constraint un_code unique(Code,Name);
|
---如果已经有存在的重复值,添加约束失败
--因为发现对象名称 'dbo.Teacher' 和索引名称 'un_code' 有重复的键,所以 Create UNIQUE INDEX 语句终止。重复的键值为 (01)。
4. 删除表的唯一约束
1
2
3
|
----删除表的unique 约束
alter table Teacher
drop constraint un_code;
|