ОШИБКА #1452: Невозможно добавить или обновить дочернюю строку: ограничение внешнего ключа не выполнено
Я пытаюсь создать простую базу данных для интернет-магазина покупок. Но есть проблемы с моей базой данных.
Итак, на моей диаграмме ERD, где я связал свою таблицу категорий с моей таблицей main_course, поскольку у каждого основного блюда будет категория, такая как японская еда или итальянская еда и т. Д.
Я экспортировал свой sql из этого ERD в базу данных, но когда я вставляю запись, он показывает мне это:
# 1452 - Невозможно добавить или обновить дочернюю строку: ограничение внешнего ключа не выполняется ( fyp
, main_course
, ОГРАНИЧЕНИЕ fk_main_course_category1
ИНОСТРАННЫЙ КЛЮЧ ( category_id
) РЕКОМЕНДАЦИИ category
( category_id
) НА УДАЛИТЬ НЕТ ДЕЙСТВИЙ НА ОБНОВЛЕНИЕ НЕТ ДЕЙСТВИЙ)
Я не могу понять, Кто-нибудь поможет?
2 ответа
Вы пытаетесь вставить запись в main_course
, но category_id
вы пытаетесь вставить не существует в category
, Вам нужно сначала вставить его туда.
Во время создания этих родительско-дочерних таблиц в вашей базе данных дочерний оператор создания таблицы ссылался на поле родительской таблицы category_id, чтобы установить ограничение. И, как прежде чем вы вставили данные в родительскую таблицу, вы попытались вставить данные в дочернюю таблицу, СУБД ограничивает вас для вставки. Сначала вставьте данные в родительскую таблицу, затем вставьте в дочернюю таблицу.