现在的位置: 首页 > 综合 > 正文

SQL SERVER 默认主键,默认了聚簇索引

2012年11月25日 ⁄ 综合 ⁄ 共 757字 ⁄ 字号 评论关闭

从我的网易博客移动。。。。。

SQL SERVER 如果在建表的时候建立了主键,没有建立聚簇索引,那么久默认了主键是聚簇索引。坑爹啊。这样,这么重要的聚簇索引就到了主键上了。要修改麻烦死了。。

研究了半天,发现有两种方法:


首先说下我建立的表:

 

  

订单详情 T_DetailOrder

字段名称

说明

数据类型

主键

DO_ID

主键

Bigint

O_ID

订单号

Bigint

 

Mname

菜名

Nvarchar(20)

 

Mprice

价格

Float

 

 

 

 

 

为订单详情做O_ID的聚簇索引。

第一种建聚簇索引的方法:

 

删除表后重新建立表: 

直接在建立的时候建立聚簇索引



第二种方法:
由于有主键,默认主键为聚簇索引,删除主键上的聚簇索引失败。只有先删除主键,再建立主键,然后建立聚簇索引。

 

获得表的主键 :exec   sp_pkeys  T_DetailOrder,得到主键为PK_T_DetailOrder

删除主键:alter table T_DetailOrder DROP  CONSTRAINT PK_T_DetailOrder

建立主键和聚簇索引:

 

这样,就建立好O_ID的索引了。。坑爹的SQL SERVER 。。。。

抱歉!评论已关闭.