这是用于出售火车票的未完成的数据库。我想在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'
问题出在route
表的内容。该消息告诉您在约束PK_Route
-可能是RouteId
引用的列中有重复的值。您可以通过以下方式展示它们:
select RouteId from Route group by RouteId having count(*) > 1