MySQL/InnoDB中的外键约束:查找受级联删除影响的表/行

3

我有一个MySQL/InnoDB数据库,设置了外键约束。如果我删除“根”表中的一行,依赖表将相应地删除相应的行。

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

是否有任何简单的方法,还是需要编写工具来比较前后?

复制日志会显示正在发生什么吗?

1个回答

4
没有办法显示删除的内容,也不会在同步日志中显示。我唯一想到的方法是查询information_schema视图,查看哪些表依赖于“root”表的外键约束。
SELECT DISTINCT
  TABLE_NAME FROM REFERENTIAL_CONSTRAINTS 
WHERE 
  CONSTRAINT_SCHEMA = 'yourDatabase'
  AND REFERENCED_TABLE_NAME = 'rootTable'
  AND DELETE_RULE = 'CASCADE'

哦,这很有用!我已经在从屏幕抓取中生成那些信息了,但我不知道你可以从information_screener中获取它们!谢谢。 - aidan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接