1
我有一個名爲'pages'的表。每個頁面都有文本,視頻或圖像的內容類型。根據內容類型的不同,記錄也會插入文本,視頻或圖像表中。如果從主表中刪除行,則從其他表中刪除行
當我從'網頁'中刪除一行時,如何確保刪除另一個表中的行?我對CASCADE有一點了解,但我沒有使用外鍵。至少不明確。
我的表類似於下(我已經剝離出來是沒有相關的問題域)
頁:ID,標題,內容
視頻:PID(頁ID),youtube_url
任何幫助將不勝感激。
我不使用InnoDB的沒有。我可以看到解決這個問題的唯一方法是,從父項中刪除一行,檢查內容類型並從子表中刪除該行。 雖然我確定有更好的解決方案。 – 2010-08-29 15:30:18
你可以聲明觸發器,是我寫的 – 2010-08-29 15:31:23
+1的2個選項 - 在數據庫級別,這些是2個選項。但是,如果可能的話,我會建議使用事務在應用程序級別執行此操作。級聯刪除和數據庫觸發器都可能成爲維護噩夢,因爲它們在調試問題時非常難以查明 – InSane 2010-08-29 15:32:13