4

我有两个(InnoDB)表,其中包含 UPDATE、INSERT 和 DELETE 触发器。如果我直接在桌子上工作,它们工作得很好。此外,当我删除 tableA 中的一行时,我有一个外键约束,tableB 中由 tableA.id 引用的所有行也会被删除。这也有效,但问题是:

tableA 上的 DELETE 触发 tableA 的 DELETE 触发器。然后约束删除 tableB 处的行,不调用 tableB 的 DELETE 触发器。为什么?约束不会触发触发器吗?

谢谢。

(触发器是 AFTER DELETE。也尝试使用 BEFORE DELETE 没有成功。)

4

1 回答 1

8

如果删除是由外键引起的,则不会触发触发器。

从手册

触发器当前不被外键操作激活。

于 2013-03-06T20:27:58.013 回答