2012-02-22 1 views
1

я получаю следующее сообщение об ошибке при попытке вставить данные:MySQL не может ВСТАВИТЬ с FK ограничением

SQLSTATE [23000]: нарушение ограничения целостности: 1452 Невозможно добавить или обновления ребенок ряд: иностранный ключа не выполняется (database/UserDetails, скованность UserDetails_ibfk_6 ИНОСТРАННОЙ KEY (HearAboutID) Лит UserDetails (HearAboutID) ON DELETE CASCADE ON UPDATE CASCADE)

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

enter image description here

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

+0

вы можете включать S QL, который вы используете, пожалуйста? Также дважды проверьте, что вы не создали какую-либо циклическую ссылку с FK между таблицами. –

ответ

4

От ошибки вы публикуемую

FOREIGN KEY (HearAboutID) ЛИТЕРАТУРЫ UserDetails (HearAboutID) ON DELETE CASCADE ON UPDATE CASCADE)

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

FOREIGN KEY (HearAboutID) REFERENCES UserHearAbout (UserHearAboutID) 
ON DELETE CASCADE ON UPDATE CASCADE) 
+0

DOH! Не могу поверить, что я это сделал. Ошибка школьника! Огромное спасибо. –

 Смежные вопросы

  • Нет связанных вопросов^_^