我有两个(InnoDB)表,触发器用于UPDATE,INSERT和DELETE。如果我直接在桌子上工作,他们工作得很好。更进一步,我有一个外键约束,当我删除tableA中的一行时tableA.id引用的tableB中的所有行也被删除。这也适用,但问题是:MySQL触发器不被约束调用
DELETE在tableA上触发tableA的DELETE触发器。然后约束删除表B 处的行,但是没有调用表B的DELETE触发器。为什么?做约束不会触发触发器吗?
谢谢。
(触发器AFTER DELETE。有没有成功之前删除也试过。)
级联删除应触发另一个表上的触发器。你使用的是什么版本的MySQL? – landons 2013-03-06 20:18:07
我正在使用5.5.29。在tableB上我有'CONSTRAINT cname FOREIGN KEY(idA)REFERENCES tableA(id)ON DELETE CASCADE ON UPDATE CASCADE,' – Lorenz 2013-03-06 20:27:54
@landons:在手册中明确指出,情况并非如此。 – 2013-03-06 20:28:18