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

时间:2014-03-21 14:34:01

标签: 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_rewrite`, CONSTRAINT 
`FK_415B32DA3DF924D5C803CF24EB3AC1D9` FOREIGN KEY (`url_rewrite_id`) REFERENCES 
`magento`.`enterprise_url_rewrite` (`url_rewrite_id`)

我认为强制执行外键约束以防止在引用实际值时删除。我记得(我可能错了)能够TRUNCATE此表而不禁用密钥检查。请注意DELETE FROM enterprise_url_rewrite有效。

有关enterprise_catalog_category_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

0 个答案:

没有答案