是否可以在已经具有唯一非聚簇索引的表中添加主键?
我有一个table cargo_car,我需要将cd_cargo_car定义为PK。
我试过了:
ALTER TABLE dbo.cargo_car ADD PRIMARY KEY (cd_cargo_car)
但我收到错误:
Error (1921) An index with the same columns inthe same order alredy exists onthe table
这个表有很多依赖性,当我尝试删除我收到的索引时:
Error (3712) Cannot drop index 'cargo_car.XPKcargo_car' because it still has referential integrity constraints.
这是创建脚本:
CREATE TABLE dbo.cargo_car
(
cd_cargo_car SMALLINT NOT NULL,
nm_cargo_car VARCHAR (40) NOT NULL,
cd_refini_car CHAR (4) NOT NULL,
cd_reffin_car CHAR (4) NOT NULL,
cd_jornada1_car CHAR (2) NOT NULL,
cd_jornada2_car CHAR (2) NOT NULL
)
GO
CREATE UNIQUE NONCLUSTERED INDEX XPKcargo_car
ON dbo.cargo_car (cd_cargo_car)
GO
建议如何做到这一点?
韩国社交协会
答案 0 :(得分:1)
你将不得不放弃所有的外键约束 其他表,删除该索引,创建主键(我猜你 希望它被聚集?),然后重新创建外键约束。 - Dems
为了解决这个问题,我将该评论转换为答案。这是正确的,类似于我想写的......