似乎您无法在触发器中完成所有这些操作。根据文档:
在存储的函数或触发器中,不允许修改调用该函数或触发器的语句已经在使用(用于读取或写入)的表。
根据此答案,您似乎应该:
创建一个存储过程,该过程将插入/更新目标表,然后更新事务中的所有其他行。
使用存储的proc,您将手动提交更改(插入和更新)。我还没有在MySQL中做到这一点,但是这篇文章看起来像一个很好的例子。

似乎您无法在触发器中完成所有这些操作。根据文档:
在存储的函数或触发器中,不允许修改调用该函数或触发器的语句已经在使用(用于读取或写入)的表。
根据此答案,您似乎应该:
创建一个存储过程,该过程将插入/更新目标表,然后更新事务中的所有其他行。
使用存储的proc,您将手动提交更改(插入和更新)。我还没有在MySQL中做到这一点,但是这篇文章看起来像一个很好的例子。