MySQL触发失败事务的行为

时间:2013-08-04 19:21:47

标签: mysql triggers

我已经找到了一些关于触发器失败时会发生什么的信息,但是在事务失败时无法找到任何结果。

假设我有两个表,表A和表B.我已经定义了一个BEFORE INSERT触发器,使得表A上的插入将导致触发器更新表B.我理解如果触发器失败,则插入事务不会被执行。触发器成功执行然后插入失败会发生什么?表B的更新是否会回滚?

更进一步,假设我还定义了表C和BEFORE UPDATE触发器,使得表B上的更新将导致触发器更新表C.当一切正常时,预期的行为是这样的:将行插入表A,触发器将更新表B,这将导致另一个触发器更新表C.由于两者都是BEFORE触发器,这些操作将反向执行,因为表C将首先更新,然后是B,然后插入将在A上执行。当A上的插入失败时会发生什么?是否会回滚B和C的更新?

0 个答案:

没有答案