SqlServer unique唯一约束

1.简介

UNIQUE 约束唯一标识数据库表中的每条记录。

UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。

PRIMARY KEY 拥有自动定义的 UNIQUE 约束。

请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。

2.创建表时,添加唯一约束

----创建表,并添加uniuqe 约束
create table Teacher(
  ID int identity(1,1),
  Name nvarchar(10) unique,
  Code varchar(2) not null,
  primary key (ID)
)
go

插入相同数据会抛出异常

--违反了 UNIQUE KEY 约束 'UQ__Teacher__737584F60519C6AF'。
不能在对象 'dbo.Teacher' 中插入重复键。

3.修改表,为表中的某一列或多列添加唯一约束

----修改表,添加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. 删除表的唯一约束

----删除表的unique 约束
alter table Teacher
drop constraint un_code;


你可能感兴趣的:(sqlserver,Uniuqe约束)