1
我使MySQL數據庫,其中我膜表中:觸發器邏輯使誤差
- ID
- 標題
- 金額
- 可用
- 描述
和c OPY表的外鍵film_id:
- ID
- film_id
而且現在我已經刪除觸發器後拷貝寫着:
UPDATE `film`
SET available = available - 1
WHERE OLD.film_id = id;
現在我想寫之前刪除觸發器fil米, 由於事實膜是通過複製contrained所以我寫:
DELETE FROM copy WHERE copy.film_id = OLD.id;
這裏出現錯誤:
無法更新存儲在功能表「電影」 /觸發器,因爲它 已經被調用這個存儲的函數/觸發器的語句使用。
我想刪除影片 - >刪除副本 - >更新膜(ERROR)
如果你刪除一個薄膜(即薄膜表中的行)在第一步,你怎麼可以更新影片reocord(一這是刪除)在第三步?似乎不合邏輯。 –
@DarshanMehta如果我想刪除電影,我必須刪除copy.film_id = OLD.id的所有副本,但它也會觸發電影上的更新並導致問題。 –