DBAtlas · Атлас эксплуатации баз данных

3730: Невозможно удалить таблицу, на которую ссылается ограничение внешнего ключа

MySQL

Что это значит?

Таблицу невозможно удалить, поскольку на неё ссылается внешний ключ другой таблицы. Пока ссылка существует, DROP заблокирован.

Почему возникает?

Попытка удалить родительскую таблицу, пока существуют связанные с ней через FK дочерние таблицы; несоблюдение порядка зависимостей; внешние ключи не удалены заранее.

Как исправить

Сначала удалите ссылающийся внешний ключ: ALTER TABLE child_table DROP FOREIGN KEY fk_name; затем удалите таблицу. Найдите зависимые таблицы/ограничения: SELECT * FROM information_schema.KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_NAME = 'my_table'; В массовых операциях можно временно использовать SET FOREIGN_KEY_CHECKS = 0;, но будьте осторожны и затем верните значение 1.

Открыть в DBAtlas →

Ещё по этой СУБД