CREATE UNIQUE INDEX 语句终止,因为发现重复键
The CREATE UNIQUE INDEX statement terminated because a duplicate key was found
这是销售火车票的未完成数据库。
我想在 Route table 中为 RouteId 创建主键,但出现异常:
CREATE UNIQUE INDEX 语句终止,因为发现对象名称 'dbo.Route' 和索引名称 'PK_Route' 的重复键。重复键值为 (1).
但是没有其他钥匙。
我认为问题可能出在最初我有 2 个 table 的 Route 和 RouteStation,然后我删除了 table Route 并将 RouteStation 重命名为 Route。
此站点上的另一个主题对我没有帮助。
我还尝试查看此 table 的密钥,但输出为空:
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
table 的内容上。该消息告诉您在约束 PK_Route
- 可能 RouteId
引用的列中有重复值。您可以通过以下方式展示它们:
select RouteId from Route group by RouteId having count(*) > 1
这是销售火车票的未完成数据库。
CREATE UNIQUE INDEX 语句终止,因为发现对象名称 'dbo.Route' 和索引名称 'PK_Route' 的重复键。重复键值为 (1).
但是没有其他钥匙。
我认为问题可能出在最初我有 2 个 table 的 Route 和 RouteStation,然后我删除了 table Route 并将 RouteStation 重命名为 Route。
此站点上的另一个主题对我没有帮助。 我还尝试查看此 table 的密钥,但输出为空:
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
table 的内容上。该消息告诉您在约束 PK_Route
- 可能 RouteId
引用的列中有重复值。您可以通过以下方式展示它们:
select RouteId from Route group by RouteId having count(*) > 1