没有引用此表,但由于外键约束,我仍然无法删除它

时间:2013-01-13 10:35:25

标签: mysql foreign-keys

错误1217:无法删除或更新父行:外键约束失败 SQL语句:删除表s_a_usermain

我使用“rpl -Ris ...”来检查sql转储,它不在那里。我查询了信息模式,它也不在那里。我认为这是一个错误,但我可能只是找不到这个表的难以捉摸的参考。下面的屏幕截图显示了所需的所有信息。

http://tinypic.com/r/30lcu2t/6 - 他们调整了它的大小并且很难读,但列出的表是s_a_user.resume,而不是s_a_user.main,所以,换句话说,它确认没有引用这个

== UPDATE ==解决==

这是mysql中的一个错误。 “SHOW ENGINE INNODB STATUS”显示错误来自“s_a_mail.topic”,它甚至不存在[-_-] ......

解决这个问题:删除所有innodb日志文件,删除模式,删除模式目录,在my.conf中用innodb_force_recovery = 4重新启动mysql,删除强制恢复,再次重启mysql,重新创建数据库模式,重新导入数据备份,用innodb_force_recovery = 4重新启动mysql,取出innodb_force_recovery = 4并重新启动。

这解决了外键问题,但是现在工作台在访问s_a_user模式的表时崩溃,所以现在我开始研究...... [-_-]我即将构建一个新的数据库系统......

1 个答案:

答案 0 :(得分:0)

SET FOREIGN_KEY_CHECKS=0; DROP TABLE ´your_table´; SET FOREIGN_KEY_CHECKS=1;

这应该对你有帮助。

来自Rune Kaagaard

上的this question