引言:
MySQL 直接删除带有外键约束的表时,常常会报下面的错误:
或者是:Cannot truncate a table referenced in a foreign key constraint !
解决方法:
SET FOREIGN_KEY_CHECKS = 0;
TRUNCATE table $table_name;
SET FOREIGN_KEY_CHECKS = 1;
foreign_key_checks
实际上,有两个 foreign_key_checks 变量:全局变量和本地变量(每个会话)。连接后,会话变量被初始化为全局变量的值。
命令 SET foreign_key_checks 修改会话变量。
若要修改全局变量,请使用 SET GLOBAL foreign_key_checks 或 SET @@global.foreign_key_checks。
转载自:
https://stackoverflow.com/questions/5452760/how-to-truncate-a-foreign-key-constrained-table
https://cloud.tencent.com/developer/ask/28674