2010-04-26 42 views
1

我正在使用內容管理系統,在刪除記錄之前會提示用戶使用確認屏幕。一些記錄是其他表中引用的外鍵,因此它們不能被刪除。在MySQL中刪除之前檢查外鍵引用的方法?

我想在給定記錄旁邊顯示一條消息,如果它有外鍵引用。要知道我是否應該爲記錄顯示消息,我可以查詢引用表並查看是否有引用。但問題是,大約有十幾張表有可能引用這條記錄的記錄,查找可能需要「很長」的時間。

是否有一種簡單的方法來判斷記錄是否已準備好刪除(即沒有外鍵引用)?

回答

2

如果您使用支持事務處理數據庫引擎,那麼我認爲沒有檢查所有的表,可能需要刪除的記錄的引用的最簡單的方法是:

  1. 開始一個新的事務
  2. 嘗試刪除請求的記錄
  3. 如果記錄被刪除,則可以刪除。如果發生錯誤,則無法刪除,並且可以向用戶顯示消息。
  4. 回滾交易
+0

是的這就是我的想法。嗯。 – 2010-04-27 03:52:13