ошибка при добавлении ограничения внешнего ключа - PullRequest
0 голосов
/ 01 апреля 2011

У меня следующий запрос:

ALTER TABLE ROUTE ADD FOREIGN KEY (RID) REFERENCES RESERVATION(RID) ON DELETE CASCADE

но выдает ошибку:

#1452 - Cannot add or update a child row: a foreign key constraint fails (`SmarTrek`.`#sql-91e_d09`, CONSTRAINT `FK_RID` FOREIGN KEY (`RID`) REFERENCES `RESERVATION` (`RID`) ON DELETE CASCADE)

В режиме конструктора это выглядит следующим образом: enter image description here

Ответы [ 2 ]

1 голос
/ 01 апреля 2011

Это означало бы, что у вас уже есть данные в таблице ROUTE, которые не удовлетворяют ограничению внешнего ключа.

Чтобы найти ошибочные записи, чтобы вы могли обновить их до некоторого другого значения (которое существует),Вы можете использовать

select *
from route
where rid not in (select rid from reservation)
0 голосов
/ 01 апреля 2011

ТАМ может b 2 причины

  • может быть b какая-то строка в ROUTE ТАБЛИЦЕ с RID, которой нет в RESERVATION(RID)
  • , или проверить DATATYPE OF ROUTE (RID) & RESERVATION(RID) оба должны быть одинаковыми (без знака / со знаком)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...