JN项目-用代码级联删除评论和收藏

本文探讨了在数据库中使用触发器进行级联删除时遇到的问题,并尝试通过添加条件判断来避免不必要的操作。最终选择在应用程序层面处理该逻辑。

问题描述:由于触发器级联删除不可行(主表有评论的时候可以实现删除主表然后触发器删除评论,当主表没有评论的时候只想单

独删除主表,可是仍然触发了触发器的操作,触发器删除报错)

下面是我写的触发器,想在触发器中加个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的参数都是写死的,没有什么奇怪的哈


评论表:


话说用代码处理起来就很简单咯,可惜了我的触发器呀,研究了半天



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZHOU_VIP

您的鼓励将是我创作最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值