我想通过删除所有表来清空phpmyadmin中的mysql数据库,但是这会生成外键错误。
一种解决方案是按照正确的顺序删除表,以防止外键错误,但是在phpmyadmin中有什么方法可以自动做到这一点吗?例如,清空数据库的特性?
发布于 2021-03-28 20:05:09
我的回答有点晚了,但很容易,而且很有效:
现在有了一个空的数据库(数据库仍然存在,数据库视图说“数据库中找不到表”)。
发布于 2015-10-07 09:19:26
你说清理数据库是什么意思-
在第一种情况下,更好的选择是删除数据库并重新创建它。
或者,由于任何特定的原因,您不希望删除数据库(就像这样,您将丢失所有触发器/视图等等)。然后首先通过显示表命令获取表,并准备"drop table_name“;在excel或下面的命令中编写脚本,然后通过phpmyadmin执行。
SELECT CONCAT("drop table ",table_schema,".",table_name,";") FROM information_schema.TABLES WHERE table_type='BASE TABLE' AND table_schema='my_db';在第二种情况下,如果您只想清除数据,那么可以按照下面的命令准备截断脚本,然后通过phpmyadmin执行它-
从table_schema _ information_schema.TABLES _type=‘基表’和table _schema=‘my_db’中选择CONCAT(“截断表”、".“、”、“);
注意:在执行删除或截断命令之前执行set foreign_key_checks=0;,在执行后执行set foreign_key_checks=1;以避免与外键相关的问题。
您可以在服务器控制台上执行以下命令。
mysql -uroot -p<pass> -Nse 'show tables' database1 | while read table; do mysql -uroot -p<pass> database1 -e "drop table $table"; done或
mysql -uroot -p<pass> -Nse 'show tables' database1 | while read table; do mysql -uroot -p<pass> database1 -e "truncate table $table"; donehttps://stackoverflow.com/questions/32988208
复制相似问题