ОШИБКА #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, чтобы установить ограничение. И, как прежде чем вы вставили данные в родительскую таблицу, вы попытались вставить данные в дочернюю таблицу, СУБД ограничивает вас для вставки. Сначала вставьте данные в родительскую таблицу, затем вставьте в дочернюю таблицу.

Другие вопросы по тегам