標準のMySQLでこれを行う方法は考えられません。
MySQLプロキシ のプラグインを作成できます。 、異なるサーバー上の親テーブルと子テーブル間の参照整合性を管理します:
-
インターセプト
INSERT
およびUPDATE
子テーブルに対して。親テーブルの一致する行をクエリします。INSERT
に失敗する /UPDATE
親テーブルに一致するものが見つからない場合。 -
インターセプト
DELETE
親テーブルに対して。子テーブルの依存行をクエリします。DELETE
に失敗する 子テーブルに依存行が見つかった場合。制約がカスケード動作をサポートすることを目的としている場合は、失敗するのではなく、それを実行してください。 -
インターセプト
UPDATE
親テーブルに対して。更新の一部として主キーの値が変更されている場合は、子テーブルで見つかった依存行をクエリします。UPDATE
に失敗する 子テーブルに依存行が見つかった場合。制約がカスケード動作をサポートすることを目的としている場合は、失敗するのではなく、それを実行してください。
MySQLプロキシプラグインの参照整合性制約に関する情報を保持する必要があることに注意してください(または、関係を記録するプラグインのカスタム構成ファイルを作成します)。従来のFOREIGN KEY
は使用できません MySQLインスタンス全体でそのような制約を宣言する構文。