> 数据库 > SQL Server 2008 >

主键和唯一索引有什么区别?

相同点:它们都属于实体完整性约束。
不同点:
(1) 唯一性约束所在的列允许空值,但是主键约束所在的列不允许空值。
(2) 可以把唯一性约束放在一个或者多个列上,这些列或列的组合必须有唯一的。但是,唯一性约束所在的列并不是表的主键列。
(3) 唯一性约束强制在指定的列上创建一个唯一性索引。在默认情况下,创建唯一性的非聚簇索引,但是,也可以指定所创建的索引是聚簇索引。
(4) 建立主键的目的是让外键来引用。
(5) 一个表最多只有一个主键,但可以有很多唯一键。 (责任编辑:IT)