CREATE UNIQUE INDEX语句由于发现重复的键而终止

问题描述 投票:0回答:1

这是用于出售火车票的未完成的数据库。enter image description here我想在Route表中为RouteId创建主键,但出现异常:

CREATE UNIQUE INDEX语句终止,因为找到了对象名称'dbo.Route'和索引名称'PK_Route'的重复键。重复的键值为(1)。

但是没有其他键。

我认为问题可能是起初我有2个表Route和RouteStation,而不是删除表Route并将RouteStation重命名为Route。

此网站上的其他主题对我没有帮助。我也尝试查看该表的键,但输出为空:

SELECT Col.Column_Name from 
    INFORMATION_SCHEMA.TABLE_CONSTRAINTS Tab, 
    INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE Col 
WHERE 
    Col.Constraint_Name = Tab.Constraint_Name
    AND Col.Table_Name = Tab.Table_Name
    AND Constraint_Type = 'PRIMARY KEY'
    AND Col.Table_Name = 'Route'
tsql ssms
1个回答
1
投票

问题出在route表的内容。该消息告诉您在约束PK_Route-可能是RouteId引用的列中有重复的值。您可以通过以下方式展示它们:

select RouteId from Route group by RouteId having count(*) > 1
© www.soinside.com 2019 - 2024. All rights reserved.