为什么在触发器里改本表数据会引出无限循环,如何避免自触发死循环问题?
- 内容介绍
- 相关推荐
本文共计1043个文字,预计阅读时间需要5分钟。
这不是循环执行了一堆子句才崩溃的问题,而是MySQL在语法解析阶段就截断了——只要触发器体内出现对当前表的+UPDATE+、+INSERT+或+DELETE+,不管是否有条件、改没改动到同一行,一例拒绝执行,并抛出+ERROR 1442 (HY000): Can't update table 'xxx' in stored function/trigger because it is already used by statement which invoked this stored function/trigger。
本文共计1043个文字,预计阅读时间需要5分钟。
这不是循环执行了一堆子句才崩溃的问题,而是MySQL在语法解析阶段就截断了——只要触发器体内出现对当前表的+UPDATE+、+INSERT+或+DELETE+,不管是否有条件、改没改动到同一行,一例拒绝执行,并抛出+ERROR 1442 (HY000): Can't update table 'xxx' in stored function/trigger because it is already used by statement which invoked this stored function/trigger。

