1
我的MSSQL數據庫設計如下:級聯刪除重複的外鍵?那可能嗎?
一個帶圖片表格,image_id = PK一個表影片,VIDEO_ID與評論 = PK一張桌子,COMMENT_ID = PK,和兩個字段唯一匹配父:item_id(等於image_id或 video_id)和item_type,告訴我是誰的父級( 圖像或視頻)。
如何添加級聯刪除,以便在刪除圖像時自動刪除與Images.image_id = Comments.item_id AND Comments.item_type = 'image'
匹配的註釋?正如你看到的,爲了這個工作,我必須指定項目類型和item_id
,因爲另一個註釋可以存在於相同的item_id
但具有不同的item_type
屬性。
感謝您的回答,但我一直在尋找一種非觸發的解決方案。如果不能這樣做,我想我最好通過代碼來完成,併發送2條刪除語句,包含在一個tranzaction語句中。你認爲這樣可以嗎? – osmiumbin
@osmiumbin是的,這聽起來對我來說也是一個很好的解決方案。 –
@osmiumbin我的理解是希望避免觸發器,因爲如果它們被大量使用,它們可能很難排除故障,但請注意,應用程序方法並不能保證數據庫中的規則正在被遵循......未來可能會出現一個問題,即應用程序的不同部分以不同的方式實現刪除操作,並且不會像應該那樣清理註釋......只是需要牢記。 –