JN專案-用程式碼級聯刪除評論和收藏

ZHOU_VIP發表於2017-11-13

問題描述:由於觸發器級聯刪除不可行(主表有評論的時候可以實現刪除主表然後觸發器刪除評論,當主表沒有評論的時候只想單

獨刪除主表,可是仍然觸發了觸發器的操作,觸發器刪除報錯)

下面是我寫的觸發器,想在觸發器中加個if判斷,結果報錯啊


DELIMITER $$

CREATE
    /*[DEFINER = { user | CURRENT_USER }]*/
    TRIGGER `jnwhfwpt`.`tri_commentDel` AFTER DELETE
    ON `jnwhfwpt`.`m_cultureact_gzl`
    FOR EACH ROW 
    BEGIN
    
    DECLARE c VARCHAR(32);
    SET c = (SELECT DISTINCT commenttype FROM m_cultureact_gzl);
    IF(old.msgCode IN (SELECT commentid FROM p_comment WHERE commenttype = c) )
    THEN
    DELETE FROM p_comment WHERE commentid = old.msgCode AND commenttype = c;
    END IF;	
    END$$

DELIMITER ;

只好在程式碼中處理了:




因為每個頁面都是單獨點選觸發的,所以觀展聆聽、文藝演出的commentType的引數都是寫死的,沒有什麼奇怪的哈


評論表:


話說用程式碼處理起來就很簡單咯,可惜了我的觸發器呀,研究了半天



相關文章