Оператор CREATE UNIQUE INDEX завершен, так как был найден дубликат ключа - PullRequest
0 голосов
/ 07 марта 2020

Это незаконченная база данных по продаже билетов на поезд. enter image description here Я хочу создать первичный ключ для 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'

1 Ответ

2 голосов
/ 07 марта 2020

Проблема с содержимым таблицы route. Сообщение сообщает вам, что у вас есть повторяющиеся значения в столбцах, на которые ссылается ограничение PK_Route - возможно RouteId. Вы можете выставить их с:

select RouteId from Route group by RouteId having count(*) > 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...