2011-07-15 34 views
3

我有一个设置了FK约束的MySQL/InnoDB数据库。如果我删除“根”表中的一行,则从属表将删除相应的行。具有FK约束的MySQL/InnoDB:查找受级联删除影响的表/行

如何显示已删除的内容或至少哪些表已受到影响?

是否有任何简单的方法或将需要编写一个工具来比较之前和之后?

复制日志会显示发生了什么?

回答

4

没有,有没有办法显示什么被删除 不,它不会复制日志显示

只有我能想到的东西,是查询information_schema的意见,看看哪些表具有取决于FK约束在'根'表上。

SELECT DISTINCT 
    TABLE_NAME FROM REFERENTIAL_CONSTRAINTS 
WHERE 
    CONSTRAINT_SCHEMA = 'yourDatabase' 
    AND REFERENCED_TABLE_NAME = 'rootTable' 
    AND DELETE_RULE = 'CASCADE' 
+0

哦,这很有用!我已经产生了这些信息,但基本上来自屏幕刮擦。我不知道你可以从information_screener中获得这些信息!谢谢。 – aidan

相关问题