我试图从数据库中删除除一个表以外的所有表,结果出现以下错误:

无法删除或更新父行:外键约束失败

当然,我可以反复try 看看这些关键约束是什么,最终删除所有表,但我想知道是否有一种快速的方法可以强制删除所有表(因为我可以重新插入我不想删除的表).

谷歌把我的目标对准了一个建议使用以下方法的网站:

mysql> SET foreign_key_checks = 0;
mysql> drop table ...
mysql> SET foreign_key_checks = 1;

简单的回答是,它并没有真正起到作用,因为当我能够删除更多的表时,我最终收到了相同的错误.我在堆栈溢出上见过将所有外键链接到某个表的方法,但这太耗时了,除非我全部编写脚本(在没有其他选项的情况下这是可行的)

数据库是4.1所以我不能用DROP DATABASE

思想?

推荐答案

由于您对保存任何数据都不感兴趣,所以请 Select drop the entire database并创建一个新数据.

Mysql相关问答推荐

SQL Store Procedure Throwing [42000][1064]您在EXECUTE stat USING声明上的SQL语法中有错误

一次又一次地删除事件行

MySQL INSERT INSERT ON DIPLICATE KEY UPDATE WITH COMPAY PRIMARY KEY失败

运行简单查询时Prisma预准备语句错误

根据日期重叠转换表格

数据导入和默认目标架构空列表. (Mysql 工作台 8)

Select 并统计所有条目并根据条目对它们进行分组

为生日创建 MySQL 索引

检索按键列值分组的最新日期 (MySql)

为什么以及如何将 Django filter-by BooleanField 查询转换为 SQL WHERE 或 WHERE NOT 而不是 1/0?

当用它的别名替换 (MAX(s.salary) - MIN(s.salary) 它将不起作用.. 为什么?

如何创建将行转换为列的 MySQL 查询?

判断一列中的多个值并返回值 1 或 0

创建表时我的 SQL 语句有什么问题

MySQL 8 - MBRContains 不使用空间索引

MySQL使用多列 Select 重复记录

授予用户对 MySQL 中有限数量表的访问权限

让 MySQL 在 OSX 10.7 Lion 上运行

MySQL嵌套 Select 查询?

按 15 分钟间隔对 mysql 查询进行分组