如何手动删除级联

时间:2014-01-03 12:01:32

标签: mysql

我有一个名为Updates

的表格
Update_ID | Time

和另一个名为Announce_Updates

的表格
Announce_ID | Update_ID

他们都有删除级联,但我可以想到我关闭外键检查并忘记重新激活的一些时刻。在那一刻,我可能删除了Updates表上没有在Announce_Updates表上自动删除的一些数据。

Update_ID中的Announce_Updates总数大于主Updates表本身的总数时,我意识到出了问题。

有没有办法解决这个问题?

最好的问候。

1 个答案:

答案 0 :(得分:3)

如果有孤立Announce_Updates条记录,您可以删除任何没有匹配的Update

DELETE FROM Announce_Updates WHERE Update_ID NOT IN (SELECT Update_ID FROM Updates)

一如既往地确保在运行互联网上的某些人告诉您的任何查询之前备份数据库。