明示的なトランザクション ブロック内の 2 つの関連するテーブルにエントリが追加される mysql データベースがあります。トランザクションが正常に終了したとき (そしてそのときだけ)、新しいデータについて別のプロセスに通知する必要があります。
これを実現するために、IPC を介して他のプロセスに通知する UDF を作成しました。また、テーブルの 1 つで AFTER INSERT トリガーを設定し、トリガーが UDF を呼び出します。
トランザクションが終了し、行が実際に挿入された後にトリガーが起動すると仮定しました。ただし、INSERT文が実行された直後に実行されるようです。
行が実際にデータベースにグローバルに挿入されるまで (つまり、COMMIT の後)、トリガー関数の実行を遅らせる方法はありますか?
回避策は、COMMIT の後に UDF を明示的に呼び出すことだと思いますが、自動化されたアプローチの方がはるかに優れています。