暂时禁用约束

use*_*509 13 mysql database

我有很多关系约束的表.表包含完整的虚拟数据,我想在保持结构的同时截断/清空表中的数据.

每次我想清空一个表,我都会得到外键约束错误.我该怎么做才能暂时禁用约束,然后设置一旦删除虚拟数据就启用它.

我试过这个解决方案,但没有用!一旦我禁用,然后尝试截断,我得到fk约束错误...

//disable
SET FOREIGN_KEY_CHECKS = 0;


//enable
SET FOREIGN_KEY_CHECKS = 1;
Run Code Online (Sandbox Code Playgroud)

我正在使用MySQL.

任何的想法?

Eri*_*ric 7

如果要使用truncate,则必须删除FK ,因为截断不是已记录的操作.

可以使用deleteFK,但删除是一个记录操作,需要更长时间.