MySQL:截断时在空表之间检查FK约束

MySQL:截断时在空表之间检查FK约束,mysql,foreign-keys,constraints,Mysql,Foreign Keys,Constraints,我是这样截断表的 TRUNCATE TABLE `enterprise_url_rewrite`; -- error TRUNCATE TABLE `enterprise_catalog_category_rewrite`; -- works fine 按那个顺序,或者在我出错时颠倒过来 Cannot truncate a table referenced in a foreign key constraint (`magento`.`enterprise_catalog_category_

我是这样截断表的

TRUNCATE TABLE `enterprise_url_rewrite`; -- error
TRUNCATE TABLE `enterprise_catalog_category_rewrite`; -- works fine
按那个顺序,或者在我出错时颠倒过来

Cannot truncate a table referenced in a foreign key constraint 
(`magento`.`enterprise_catalog_category_rewrite`, CONSTRAINT 
`FK_415B32DA3DF924D5C803CF24EB3AC1D9` FOREIGN KEY (`url_rewrite_id`) REFERENCES 
`magento`.`enterprise_url_rewrite` (`url_rewrite_id`)
我认为强制外键约束是为了防止在引用实际值时删除。我记得(我可能错了)以前能够
截断
此表而不禁用密钥检查。请注意,
deleteofronterprise\u url\u rewrite
有效

有关
enterprise\u catalog\u category\u rewrite
上约束定义的更多信息

KEY `FK_744D72D1D79D148B7C2542E53B0370B5` (`url_rewrite_id`),
CONSTRAINT `FK_744D72D1D79D148B7C2542E53B0370B5` FOREIGN KEY (`url_rewrite_id`)     
REFERENCES `enterprise_url_rewrite` (`url_rewrite_id`) ON DELETE CASCADE ON UPDATE NO ACTION

约束的定义是什么?您是否禁用了检查约束?它有一个
ON DELETE CASCADE
选项(后更新),在
企业url\u rewrite上删除记录时删除引用的
企业目录\u类别\u rewrite
记录,对吗,
TRUNCATE
不是
DELETE。
Yeah
DELETE
适用于
enterprise\u url\u rewrite
。无论相关表中是否存在记录,该约束定义是否阻止
enterprise\u url\u rewrite
上的
TRAUNCATE