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.
Ещё по этой СУБД
- 1093Нельзя указывать целевую таблицу 'x' для обновления в предложении FROM
- 1305PROCEDURE не существует
- 1227Доступ запрещён; требуется (хотя бы одна из) привилегия PRIVILEGE
- 2013Соединение с сервером MySQL потеряно во время запроса
- 1153Получен пакет больше 'max_allowed_packet' байт
- 1969MariaDB: выполнение запроса прервано (превышен max_statement_time)
- 1927MariaDB: ER_CONNECTION_KILLED: Connection was killed