JN项目-触发器级联删除

项目用的是mysql数据库

1.发现问题:删除主表的时候,评论表还在,点击评论链接不过去,因为主表被删

需求:现在想要实现删除主表,然后评论表内容也跟着级联删除

2.我们的评论表如下,有很多主表公用一个评论表,用commenttype区分

JN项目-触发器级联删除

JN项目-触发器级联删除

3.写触发器:

JN项目-触发器级联删除

声明一个变量DECLARE c VARCHAR(32);,

然后设置值SET c = (SELECT DISTINCT commenttype FROM m_cultureact_gzl);

需要主表提供一个参数,根据这个参数删除评论表相关的内容

DELETE FROM p_comment WHERE commentid = old.msgCode AND commenttype = c;

4.主表m_cultureact_gzl增加字段commenttype

JN项目-触发器级联删除

5.实体中增加代码,并且getter setter

JN项目-触发器级联删除

6.每次新增主表要保存commenttype

JN项目-触发器级联删除

测试OK