SQL中怎么删除由creat table命令创建的primary key 约束索引?

在建一个表的时候,除了要对primarykey建索引,还要对另外一个属性建索引,我所写的代码后面的错误提示为:“不能在表'专业'上创建多个聚集索引。请在创建新聚集索引前除... 在建一个表的时候,除了要对primary key建索引,还要对另外一个属性建索引,我所写的代码后面的错误提示为:“不能在表 '专业' 上创建多个聚集索引。请在创建新聚集索引前除去现有的聚集索引 '专业_prim'。” 我的代码如下:create table 专业
(
专业号 char(4)not null constraint 专业_prim primary key,
专业 char(16) not null,
专业类别 char(8)not null,
学院号 char(2) not null constraint 专业_fore foreign key references 学院(学院号),
)
create clustered index ti on 专业(专业号,专业类别)
展开
 我来答
coffeegzl
2011-06-12 · 超过16用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:43.8万
展开全部
1.在聚集索引中,表中各行的物理顺序和键值的逻辑(索引)顺序相同。非聚集索引则不相同。因此聚集索引比非聚集索引有更快的数据访问速度。因为其键值的逻辑(索引)顺序即为物理顺序。
2.同一张表里只能有一个聚集索引,而可以有多个非聚集索引
3.当你没有设置聚集索引的时候,就设置主键的话,会默认把主键所在的列设置为聚集索引
反之则不会设置为聚集索引
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
handangaoyang
2011-06-11 · TA获得超过2242个赞
知道大有可为答主
回答量:2633
采纳率:88%
帮助的人:925万
展开全部
你可以尝试穿件非聚集索引。
如:create nonclustered index index_ti on 专业(专业号,专业类别)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
快乐分享者
2011-06-12 · TA获得超过5116个赞
知道大有可为答主
回答量:1172
采纳率:0%
帮助的人:580万
展开全部
(1)在建立主键的时候就会建立聚集索引,所以你想再建立索引必须把原来的去掉
alter table 专业-- 先删除约束
drop constraint 这里是你的主键名
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式