【发布时间】:2012-03-23 03:14:08
【问题描述】:
我在 MySQL 中使用触发器有一点问题。
假设我们有 2 个表:
- 表A
- 表B
还有 2 个触发器:
- TriggerA:在 TableA 上删除并更新 TableB 时触发
- TriggerB:在 TableB 上删除并在 TableA 中删除时触发
问题是当我删除 TableB 中的一些行时,TriggerB 触发并删除 TableA 中的一些元素,然后 TriggerA 触发并尝试更新 TableB。
它失败了,因为 TriggerA 试图更新 TableB 中被删除的一些行。
如何避免这种循环依赖?
这两个触发器都没有用,所以我不知道我该怎么做才能解决这个问题。
【问题讨论】:
-
您能否展示一些有关这些表的数据,并准确告诉我们触发器的作用以及它们是如何定义的?
-
@kensou:您能否向我们展示您的架构以及这两个触发器应该实现的目标?可能可以对其进行规范化以避免循环触发器(或全部)。
标签: mysql triggers circular-dependency