MySQL не может вставлять с ограничением FK - PullRequest
1 голос
/ 22 февраля 2012

При попытке вставить некоторые данные появляется следующее сообщение об ошибке:

SQLSTATE [23000]: нарушение ограничения целостности: 1452 Невозможно добавить или обновить дочернюю строку: ограничение внешнего ключа не выполняется (database/UserDetails, ОГРАНИЧЕНИЕ UserDetails_ibfk_6 ИНОСТРАННЫЙ КЛЮЧ (HearAboutID) ССЫЛКИ UserDetails (HearAboutID) НА УДАЛИТЬ КАСКАД НА ОБНОВЛЕНИЕ КАСКАД)

Отношение FK выглядит следующим образом:

enter image description here

Данные, в которые я пытаюсь ввести UserDetails.HearAboutID, присутствуют в UserHearAbout.UserHearAboutID ... так почему не пойдет?(

1 Ответ

4 голосов
/ 22 февраля 2012

Из ошибки вы отправили

ИНОСТРАННЫЙ КЛЮЧ (HearAboutID) ССЫЛКИ UserDetails (HearAboutID) НА УДАЛИТЬ КАСКАД НА ОБНОВЛЕНИЕ КАСКАД)

(вы фактически создали ограничение, которое ссылается на ту же таблицу и тот же столбец), Я думаю, что ваше определение ограничения FK неверно (должно быть

 FOREIGN KEY (HearAboutID) REFERENCES UserHearAbout (UserHearAboutID)
ON DELETE CASCADE ON UPDATE CASCADE)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...