[英]how to leave a column in a MYSQL phpmyadmin database empty if no data entered
[英]How to empty mysql database in phpmyadmin
我想通过删除所有表来清空 phpmyadmin 中的 mysql 数据库,但这会产生外键错误。
一种解决方案是以正确的顺序删除表以防止外键错误,但是有没有办法在 phpmyadmin 中自动执行此操作? 例如清空数据库的功能?
我的回答有点晚了,但很容易和工作:
您现在有一个空数据库(该数据库仍然存在,并且数据库视图显示“在数据库中未找到表”。
您在这里所说的数据库清理是什么意思-
在第一种情况下,更好的选择是删除数据库并重新创建它。
或者,如果由于任何特定原因您不想删除数据库(因为这样您将丢失所有触发器/视图等),则首先通过 show tables 命令获取要删除的表并准备“删除表 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- 执行它
SELECT CONCAT("truncate table ",table_schema,".",table_name,";") FROM information_schema.TABLES WHERE table_type='BASE TABLE' AND table_schema='my_db';
注意:执行set foreign_key_checks=0;
在执行 drop 或 truncate 命令并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"; done
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.