参考文档:

https://blog.csdn.net/iw1210/article/details/79586033

https://www.cnblogs.com/hougang/p/mysql_truncate.html

MySQL 用 truncate 命令快速清空一个数据库中的所有表。

1. 先执行select语句生成所有truncate语句
语句格式:
select CONCAT('truncate TABLE ',table_schema,'.',TABLE_NAME, ';') from INFORMATION_SCHEMA.TABLES where  table_schema in ('数据库1','数据库2');

以名为dbname的数据库为例,执行select语句:
mysql> select CONCAT('truncate TABLE ',table_schema,'.',TABLE_NAME, ';') from INFORMATION_SCHEMA.TABLES where  table_schema in ('dbname');
+------------------------------------------------------------+
| CONCAT('truncate TABLE ',table_schema,'.',TABLE_NAME, ';') |
+------------------------------------------------------------+
| truncate TABLE dbname.ABOUTUSINFO;                           |
| truncate TABLE dbname.ABUTMENT;                              |
| truncate TABLE dbname.ABUTMENTFILE;                         |
| truncate TABLE dbname.ACHVORG;                               |
| truncate TABLE dbname.WORKFLOWNODE;                         |
| truncate TABLE dbname.ZONESERVICE;                           |
| truncate TABLE dbname.ZONESERVICEFILE;                      |
+------------------------------------------------------------+
7 rows in set
mysql>

2. 把每条truncate语句前后的“|”替换为空字符
用文本编辑器(如 Notepad++)把每条truncate语句前后的“|”替换为空字符,方便后面一次复制多条执行。
替换前:

替换后:

3. 复制truncate语句到mysql命令行执行
复制truncate语句到mysql命令行执行,可以一次复制多条执行。
mysql> truncate TABLE dbname.ZONESERVICE;     
Query OK, 0 rows affected
mysql>

这样就清空数据库中所有表啦,简单吧~

执行报错了,提示外键约束的表不能删除

1701 - Cannot truncate a table referenced in a foreign key constraint (`db_activiti`.`act_ru_variable`, CONSTRAINT `ACT_FK_VAR_BYTEARRAY`)

1701 - Cannot truncate a table referenced in a foreign key constraint (`db_activiti`.`act_id_membership`, CONSTRAINT `ACT_FK_MEMB_GROUP`)

解决办法,参考了第二个文档:

一、为什么要使用truncate

使用truncate截断表速度快,不仅可以清空表数据,而且可以使自增列重新从1开始

二、出现错误的原因

Mysql中如果表和表之间建立了外键约束,则无法删除表及修改表结构

三、解决方案

在Mysql中取消外键约束:  SET FOREIGN_KEY_CHECKS=0;  
 
执行 truncate tablename
 
然后再设置外键约束: SET FOREIGN_KEY_CHECKS=1;  

其他没使用的参考文档,但提供了一下思路:

https://www.cnblogs.com/wusir/p/3631647.html

最新文章

  1. ex2-注释和井号
  2. web移动端fixed布局和input等表单的爱恨情仇 - 终极BUG,完美解决
  3. UDP信息接收与发送
  4. 修复 Java 内存模型,第 2 部分——Brian Goetz
  5. Java中的Swing键盘绑定案例
  6. Qt监测光驱变化(使用WM_DEVICECHANGE)
  7. Metrics
  8. phpmyadmin低权限getshell
  9. 假如你不小心干掉了系统,你该怎么办?(一次手贱的记录 ~ Ubuntu and Python3.6)
  10. 剑指Offer 52. 正则表达式匹配 (字符串)
  11. 渲染Web视图
  12. xlwt模块
  13. overflow属性的用法
  14. Windows核心编程:第3章 内核对象
  15. GCC中的内嵌汇编语言
  16. unity3d的碰撞检测及trigger
  17. 用最简单的例子理解观察者模式(Observer Pattern)
  18. 关于VS 工具箱灰色,不可用的解决方案
  19. Tomcat 添加为系统服务 开机自动启动
  20. 火云开发课堂 - 《使用Cocos2d-x 开发3D游戏》系列 第四节:3D公告板

热门文章

  1. [Kubernetes] Kubectl and Pod
  2. Tensorflow细节-P190-输入文件队列
  3. learning java Objects.requireNonNull 当传入参数为null时,该方法返回参数本身
  4. man、whatis、apropos命令
  5. 2017.10.6 国庆清北 D6T2 同余方程组
  6. Prometheus配置文件
  7. 在mybtis的映射文件中判断集合大小
  8. 解决url传递过程中加号变空格的问题<转>
  9. Flutter -------- BottomNavigationBar 界面切换
  10. linux内核挂载根文件系统时报错”VFS: Cannot open root device "ram0" or unknown-block(0,0): error -6“如何处理?