MySQL触发器无法更新触发器分配给的同一个表中的行.建议的解决方法?

Cor*_*use 5 mysql database triggers database-design stored-procedures

MySQL目前不支持更新触发器分配给同一个表中的行,因为调用可能会递归.有没有人有一个好的解决方法/替代方案的建议?现在我的计划是调用一个存储过程,在触发器中执行我真正想要的逻辑,但我很想知道其他人是如何克服这个限制的.

编辑:根据要求提供更多背景信息.我有一个存储产品属性分配的表.插入新的父产品记录时,我希望触发器在每个子记录的同一表中执行相应的插入.这种非规范化是性能所必需的.MySQL不支持这个并抛出:

Can't update table 'mytable' in stored function/trigger because it is already used by statement which invoked this stored function/trigger. 关于MySQL论坛问题的长篇讨论基本上导致:使用存储过程,这就是我现在所使用的.

提前致谢!

HLG*_*GEM 1

我想你可以在触发器中调用存储过程。然而,如果您想更新正在更改的同一记录中的某些字段(例如updatedby或lastupdated列),那么您可以根据参考手册在beofre触发器中执行此操作。http://dev.mysql.com/doc/refman/5.0/en/trigger-syntax.html

这是触发器的常见操作,我很难相信它不受支持。