MySQL 清空具有外键约束的表中 id 自增长报 1701 解决方法

开发中遇到测试数据清空时,发现 tbl_dept 表自增长的 id 是 tbl_emp 表的外键,使用 TRUNCATE TABLE tbl_dept;语句会报错。

1、错误信息如下:

1
2
3
4
5
6
7
1 queries executed, 0 success, 1 errors, 0 warnings
查询:truncate table tbl_dept
错误代码: 1701
Cannot truncate a table referenced in a foreign key constraint (`ssm_crud`.`tbl_emp`, CONSTRAINT `fk_emp_dept` FOREIGN KEY (`d_id`) REFERENCES `ssm_crud`.`tbl_dept` (`dept_id`))
执行耗时 : 0 sec
传送时间 : 0 sec
总耗时 : 0.001 sec

2、解决方法

SQL 窗口执行以下语句即可:

1
2
3
SET FOREIGN_KEY_CHECKS=0;
TRUNCATE TABLE `tbl_dept`;
SET FOREIGN_KEY_CHECKS=1;

转载自 mysql 清空具有外键约束的表时报 ERROR 1701(42000)的解决

以上