MySQL:如何删除通过外键连接的单个表?

MySQL:如何删除通过外键连接的单个表?

我正在通过 Java 生成数据库模式,并且只想删除我更改的表,以免我再次输入所有数据(或从手动更新的转储中导入)。

但是由于几乎所有表都以某种方式通过外键连接,MySQL-Workbench 不允许我删除这些单个表并出现以下错误:

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

我正在使用带有 InnoDB 的 MySQL 5.6。

答案1

FOREIGN_KEY_CHECKS在删除表之前,您是否尝试过将其设置为 0?

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

答案2

您可以生成级联 DELETE 语句。在模式导航器中,右键单击表并从“发送到 SQL 编辑器”或“发送到剪贴板”中选择“带引用删除”,然后执行生成的查询。

相关内容