joh*_*Art 131 mysql foreign-keys sql-drop
我试图删除数据库中的所有表,除了一个,我最终得到以下错误:
无法删除或更新父行:外键约束失败
当然,我可以试错,看看那些关键约束是什么,并最终删除所有表但我想知道是否有一种快速方法强制删除所有表(因为我将能够重新插入那些我不想删除).
谷歌针对某些建议使用以下方法的网站:
mysql> SET foreign_key_checks = 0;
mysql> drop table ...
mysql> SET foreign_key_checks = 1;
Run Code Online (Sandbox Code Playgroud)
简短的回答是它没有真正做到这一点,因为我最终收到了同样的错误,而我能够删除更多的表.我已经在Stack Overflow上看到了将所有外键链接到某个表的方法,但这样做太费时了,除非我编写所有脚本(在没有其他选项的情况下这是可行的)
数据库是4.1所以我无法使用 DROP DATABASE
想法?
小智 376
这可能对从搜索到此处结束的人有用.确保您尝试删除表而不是视图.
SET foreign_key_checks = 0; -- Drop tables drop table ... -- Drop views drop view ... SET foreign_key_checks = 1;
SET foreign_key_checks = 0
是将外键检查设置为关闭,然后SET foreign_key_checks = 1
重新设置外键检查.当关闭检查时,可以删除表,然后重新打开检查以保持表结构的完整性.
Ali*_*har 15
如果您使用的是phpmyadmin,则此功能已经存在.
Otá*_*cio -51
由于您不想保留任何数据,因此删除整个数据库并创建一个新数据库。