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 专业(专业号,专业类别) 展开
(
专业号 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 专业(专业号,专业类别) 展开
3个回答
展开全部
1.在聚集索引中,表中各行的物理顺序和键值的逻辑(索引)顺序相同。非聚集索引则不相同。因此聚集索引比非聚集索引有更快的数据访问速度。因为其键值的逻辑(索引)顺序即为物理顺序。
2.同一张表里只能有一个聚集索引,而可以有多个非聚集索引
3.当你没有设置聚集索引的时候,就设置主键的话,会默认把主键所在的列设置为聚集索引
反之则不会设置为聚集索引
2.同一张表里只能有一个聚集索引,而可以有多个非聚集索引
3.当你没有设置聚集索引的时候,就设置主键的话,会默认把主键所在的列设置为聚集索引
反之则不会设置为聚集索引
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以尝试穿件非聚集索引。
如:create nonclustered index index_ti on 专业(专业号,专业类别)
如:create nonclustered index index_ti on 专业(专业号,专业类别)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
(1)在建立主键的时候就会建立聚集索引,所以你想再建立索引必须把原来的去掉
alter table 专业-- 先删除约束
drop constraint 这里是你的主键名
alter table 专业-- 先删除约束
drop constraint 这里是你的主键名
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询