SQLServer主键和唯一约束的区别

云南的天空有一种静谧之美,在这片土地上就连时间都流淌得格外缓慢。东方刚露出第一抹红霞,小河像一位刚梳洗完毕的姑娘,对着镜子整理晨妆,面颊上飞出几片羞答答的红晕。

首先说明一点,主键又称主键约束,它也是一种约束,看下它和唯一约束的创建语法:

alter table Person add constraint PK_Id primary key (Id)
alter table Person add constraint UQ_Name unique (Name)

主键和唯一约束都要求字段值唯一,除此外,它们还有如下区别:

·同一张表只能有一个主键,但能有多个唯一约束;
·主键字段值不能为NULL,唯一约束字段值可以为NULL;
·主键字段可以做为其他表的外键,唯一约束字段不可以做为其他表的外键;
·SQLServer默认为主键字段创建聚集索引,为唯一约束字段创建非聚集索引;

主键,唯一,但是不能为空;唯一约束,唯一,但是可以为空

本文SQLServer主键和唯一约束的区别到此结束。泪,自己尝。痛,自己扛。未来,自己去闯。小编再次感谢大家对我们的支持!

标签: 主键 SQLServer