2013-05-06 55 views
0

我有一个表“学生”表和“评估”表,引用“学生”,当我试图删除任何数据时,它是好的,但是当我试图截断它,它失败了消息:MySQL删除确定但截断失败

ERROR 1701 (42000): Cannot truncate a table referenced in a foreign key constraint (`testdb`.`evaluation`, CONSTRAINT `fk_relationship_18` FOREIGN KEY (`stu_id`) REFERENCES `testdb`.`student` (`id`)) 

它甚至在学生表为空时显示相同的错误..为什么会出现这种情况?或者我应该谷歌如何手动重置自动增量。

回答

2

您不能对具有FK约束的表进行TRUNCATE(仅因为truncate与delete不同)。

要解决此问题:

  1. 删除约束。
  2. 执行TRUNCATE。
  3. 手动删除现在引用“无处”的行。
  4. 创建约束。