MySQL: как удалить одну таблицу, которая связана через внешний ключ?

я генерирую схему базы данных через Java и хочу удалить только таблицы, в которые я внес изменения, чтобы избавить меня от повторного ввода всех данных (или импорта их из вручную обновленного дампа).

но так как почти все таблицы так или иначе связаны внешними ключами, MySQL-Workbench не позволит мне удалить эти отдельные таблицы и выдаст мне следующую ошибку:

ERROR 1217: Cannot delete or update a parent row: a foreign key constraint fails
SQL Statement:
drop table `mydb`.`mytable`

Я использую MySQL 5.6 с InnoDB.

17
задан Excellll
30.01.2023 6:43 Количество просмотров материала 2572
Распечатать страницу

2 ответа

вы пробовали настройки FOREIGN_KEY_CHECKS до 0 перед отбрасыванием таблиц?

http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_foreign_key_checks

1
отвечен ZeWaren 2023-01-31 14:31

можно создать каскадную инструкцию DELETE. В навигаторе схем щелкните правой кнопкой мыши таблицу и выберите " Удалить со ссылками "из" отправить в Редактор SQL "или" отправить в буфер обмена", а затем выполните созданный запрос.

1
отвечен philip 2023-01-31 16:48

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх