主键是不是必须包含索引,能否单独存在

主键是否必须包含索引,能否单独存在?
主键是否必须包含索引,能否单独存在? 默认建立主键的时候就自动生成一个聚集索引, 能把聚集索引删除了,只建立主键吗?
------解决思路----------------------

现在你的需求是主键是否必须要包含索引? 是的,因为主建本身就是通过索引来实现的。

能否单独存在? 不行


在sql server中,主键是一种约束,但是这种约束是通过 索引来实现的。

而同样的,唯一约束是一种约束,也是通过唯一索引来实现的。

默认情况下,在创建主键时,系统会自动按照这个 主键字段,创建一个 聚集索引,也就是整个表的数据,都是按照这个 主键字段来排列的。

所以这里唯一的问题是,这个主键 是通过 聚集索引来实现,还是非聚集索引来实现的,上面说到默认情况下,是通过聚集索引来实现的,下面一个例子是非聚集索引来实现的:
--drop table t

create table t(x int not null)


alter table t 
add constraint pk_ttt primary key nonclustered(x asc)