我有一个 mysql 数据库,其中条目被添加到显式事务块内的两个相关表中。当事务成功完成时(并且仅在那时),应该通知另一个进程关于新数据。
为此,我编写了一个 UDF,它通过 IPC 通知其他进程。我还在其中一张表上设置了一个 AFTER INSERT 触发器,该触发器调用了 UDF。
我假设,触发器将在事务完成并且实际插入行后触发。但是,它似乎是在执行 INSERT 语句之后立即执行的。
是否有某种方法可以延迟触发函数的执行,直到行真正全局插入到数据库中(即在 COMMIT 之后)?
我想,一种解决方法是在 COMMIT 之后显式调用 UDF,但自动化方法会更好。