Ошибка ограничения внешнего ключа SQL в MY SQL

nathyliem

Участник
Дней с нами
423
Розыгрыши
0
Сообщения
5
Репутация
0
Реакции
0
Серверной частью моего приложения является база данных MySQL. Я экспериментировал с базами данных и несколько дней назад допустил ошибку, и теперь я не могу добавить внешние ключи в свою таблицу БД. У меня есть две таблицы: shoplocation и pizaorderdetail. Я использую идентификатор из магазина в качестве внешнего ключа в pizzaordrdetail. И я получаю следующую ошибку. В таблице уже есть данные. Раньше у меня было ограничение внешнего ключа на pizzaorderdetail, но оно было стерто. Пожалуйста, помогите мне в решении этой проблемы.

Выполняется команда ALTER TABLE. Pizzaorderdetail ALTER TABLE заказ; ДОБАВИТЬ ИНДЕКС FK idx (LocationID ASC). Pizzaorderdetail ОГРАНИЧЕНИЕ FK FOREIGN KEY (LocationID) REFERENCES добавлен заказ. УДАЛИТЬ ПО МЕСТУ (ID) НИКАКОЙ РЕАКЦИИ НА ОБНОВЛЕНИЕ НИКАКИХ ДЕЙСТВИЙ НЕ ПРЕДПРИНИМАЕТСЯ;

Операция завершилась неудачно, так как возникла проблема при выполнении сценария SQL в базе данных. Невозможно добавить или изменить дочернюю строку из-за сбоя ограничения внешнего ключа (order.#sql-714 31, CONSTRAINT FK FOREIGN KEY (LocationID) REFERENCES location (id) ON DELETE NO ACTION ON UPDATE NO ACTION) ALTER TABLE order.pizzaorderdetail Оператор SQL ПРИ УДАЛЕНИИ НЕТ ДЕЙСТВИЙ ПРИ ОБНОВЛЕНИИ НЕТ ДЕЙСТВИЙ. ДОБАВИТЬ ОГРАНИЧЕНИЕ FK ВНЕШНИЙ КЛЮЧ (LocationID) ССЫЛКИ order.location (id) НА ОБНОВЛЕНИЕ БЕЗ ДЕЙСТВИЙ.

Согласно руководству: --Ссылка удалена--
InnoDB сообщает об этой ошибке, когда вы пытаетесь удалить последний индекс, который может применить конкретное ссылочное ограничение.
Я прочитал этот пост scaler, в котором предлагалось отключить проверку внешнего ключа перед повторным применением ограничения и проверки внешнего ключа. Это лучший подход?
как заявил