Я генерирую схему базы данных через 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.

2 ответа2

1

Вы пробовали установить настройки FOREIGN_KEY_CHECKS на 0, прежде чем отбрасывать свои таблицы?

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

1

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .