主键(PRIMARY KEY)与聚集索引(Clustered Index)的对比可以参看我之前的博客:SQL Server 索引基础知识(4)----主键与聚集索引
一个表最多一个主键,最多一个聚集索引。
数据库在创建主键同时,会自动建立一个唯一索引。如果这个表之前没有聚集索引,同时建立主键时候没有强制指定使用非聚集索引,则建立主键时候,同时建立一个唯一的聚集索引。
所以建立主键(PRIMARY KEY)与聚集索引(Clustered Index)的先后顺序就只有下面几种情况:
为了更方面的描述,假设我们有如下表:
CREATE TABLE [dbo].[User]( [UserName] [nvarchar](10) NOT NULL, [Email] [nvarchar](100) NULL) ON [PRIMARY]GO
情况一、在没有任何索引的表上建主键,同时自动产生唯一的聚集索引。
这种情况最简单。在表设计中,通过下图方式设置主键,同时不做任何其他修改,就会在建主键的同时,自动建立了唯一的聚集索引。