2011-07-15 36 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

相關問題