2011-07-15 9 views
3

MySQL/InnoDBデータベースにFK制約を設定しました。 「ルート」テーブルの行を削除すると、対応するテーブルに対応する行が削除されます。FK制約付きMySQL/InnoDB:カスケード削除の影響を受けるテーブル/行を見つけよう

削除されたもの、または少なくとも影響を受けたテーブルを表示するにはどうすればよいですか?

簡単な方法がありますか、前後に比較するツールを書く必要がありますか?

レプリケーションログは何が起こっているのかを示しますか?

答えて

4

ありませんが、それは複製ログには表示されません、 ません削除されたものを表示する方法はありません、私は考えることができる唯一のことは、依存FK制約を持っているものの表を参照してinformation_schemaビューを照会することです

「ルート」テーブルにあります。

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

ああ、それは便利です!私はすでにその情報を生成していましたが、基本的にスクリーンスクレープからでした。私はあなたがinformation_screenerからそれを得ることができるのか分からなかった!ありがとう。 – aidan

関連する問題