Sql Sybase唯一索引和主键
是否可以在已经具有唯一非聚集索引的表中添加主键 我有一个表cargo_car,我需要将cd_cargo_car定义为PK 我试过这个:Sql Sybase唯一索引和主键,sql,sql-server,indexing,primary-key,sybase,Sql,Sql Server,Indexing,Primary Key,Sybase,是否可以在已经具有唯一非聚集索引的表中添加主键 我有一个表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 此表有许多依赖项,当我尝试删除索引时,会收到: Err
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
关于如何做到这一点的建议
Tks
你得把所有外键上的禁制物都放在墙上
其他表,删除该索引,创建主键(我猜您
要对其进行群集吗?),然后重新创建外键约束。
–DEM
为了结束这个问题,我把那个评论变成了一个答案。这是正确的,与我想写的内容相似
你得把所有外键上的禁制物都放在墙上
其他表,删除该索引,创建主键(我猜您
要对其进行群集吗?),然后重新创建外键约束。
–DEM
为了结束这个问题,我把那个评论变成了一个答案。它是正确的,与我想写的内容类似……我认为您必须删除其他表上的所有外键约束,删除该索引,创建主键(我想您希望它被聚集?),然后重新创建外键约束。您的解决方案非常完美,我必须删除索引和所有引用,创建PK并重新创建我的约束。谢谢@DemsI,我认为你必须删除其他表上的所有外键约束,删除该索引,创建主键(我想你希望它被聚集?),然后重新创建外键约束。你的解决方案非常完美。我必须删除索引和所有引用,创建主键并重新创建我的约束。谢谢@Dems