一个树目录结构的数据库 module(id,name,fatherId)
我想写一个触发器,功能是:删除一个节点,同时删除该节点下的多有子节点。
问题:我下面的句子不能执行,报错。
`CREATE
TRIGGER DeleteModuleNode AFTER DELETE ON module
FOR EACH ROW
BEGIN
IF((SELECT COUNT(id) FROM OLD) > 0) THEN
DELETE FROM module WHERE fatherId IN (SELECT id FROM OLD);
END IF;
END;`
此行报错:DELETE FROM module WHERE fatherId IN (SELECT id FROM OLD);
错误码: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 6
这个不能用触发器实现吧,mysql不允许触发器里面对自身表进行inset。
update, delete,set好像可以
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。