Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Sybase唯一索引和主键_Sql_Sql Server_Indexing_Primary Key_Sybase - Fatal编程技术网

Sql Sybase唯一索引和主键

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

是否可以在已经具有唯一非聚集索引的表中添加主键

我有一个表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
关于如何做到这一点的建议

Tks

你得把所有外键上的禁制物都放在墙上 其他表,删除该索引,创建主键(我猜您 要对其进行群集吗?),然后重新创建外键约束。 –DEM

为了结束这个问题,我把那个评论变成了一个答案。这是正确的,与我想写的内容相似

你得把所有外键上的禁制物都放在墙上 其他表,删除该索引,创建主键(我猜您 要对其进行群集吗?),然后重新创建外键约束。 –DEM


为了结束这个问题,我把那个评论变成了一个答案。它是正确的,与我想写的内容类似……

我认为您必须删除其他表上的所有外键约束,删除该索引,创建主键(我想您希望它被聚集?),然后重新创建外键约束。您的解决方案非常完美,我必须删除索引和所有引用,创建PK并重新创建我的约束。谢谢@DemsI,我认为你必须删除其他表上的所有外键约束,删除该索引,创建主键(我想你希望它被聚集?),然后重新创建外键约束。你的解决方案非常完美。我必须删除索引和所有引用,创建主键并重新创建我的约束。谢谢@Dems