3 つの別々のデータベース テーブルを同期しようとしています。私の目標は、1 つのデータベース内の任意のテーブルで更新を行うと、他のデータベースも更新されることです。目的は、3 つの別々のサイトです。db1.table にはすべてのデータがあり、db2.table と db3.table には一定量のデータがありますが、行われた変更は同期を維持し、できればリアルタイムに近い必要があります。トリガーは高速であるため、基本的に、あるテーブルから別のテーブルに SQL ステートメントを複製して、すべてを同期させることができます。
現在、私はこの方法でトリガーを使用しています:
db1.table -> 更新時にトリガーして db2.table を更新する db2.table -> 更新時にトリガーして db3.table を更新する
db1 でのみ更新する場合、これはうまく機能しますが、bd3 から db1 にループしようとすると、MySQL 再帰エラーが発生します。
「このストアド関数/トリガーを呼び出したステートメントで既に使用されているため、ストアド関数/トリガーのテーブルを更新できません。」
私のコードは、更新するものがない場合、他のテーブルを更新しないように記述されているため、複数回ループすることはありません。
トリガー以外の回避策または別の方法はありますか?