比如说有着三张表
学生:id name age
班级:id name
中间表:id stu_id class_id
在某个时刻我删除了一个班级,同时我想让中间表里的对应的班级id改成0或者删除对应的数据该怎么做,如何定义触发器
ps:我用的是navicat工具
drop trigger if exists del_mid_after_del_class;
create trigger del_mid_after_del_class
after delete on 班级表名
for each row
begin
delete from 中间表名 where class_id=old.id;
end;
看看这篇文章https://blog.csdn.net/lvshuocool/article/details/84646774
中间表 设置成视图 也可以
参考这篇文章,很具体,https://www.jianshu.com/p/5b955f2af9ef
楼上"不太完美的程序猿"已给出正确代码
DarkAthena说得对
如果要删除可以直接连表删,不用去定义触发器
delete b,z
from banji b
left join zhongjian z on b.id = z.class_id
where b.id=1