有一个表
create table table1(
tb_id int unsigned not null auto_increment primary key,
name varchar(20),
parent_id int
);
其中parent_id和tb_id是父子关系, 现在的需求是当删除一条记录的时候自动删除所有子记录
因为业务上的原因不能设置为级联删除,只能用trigger来做了。
以前没有写过trigger,望DX指教!
[b]问题补充:[/b]
谢谢楼下的, 按你的写法试了下可以建立trigger, 但是在进行删除操作的时候就报错了。
查了下, 是因为mysql的trigger不支持对本表的操作。看来只能另想办法了。
谢谢。
CREATE TRIGGER ins_sum BEFORE DELETE ON table
FOR EACH ROW BEGIN
DELETE FROM table1 WHERE OLD.id=table1.parent_id
END
大概的语法就是这样了
还是别用trigger了,都不建议用。