2 つの MySQL テーブルを同期するための小さなスクリプトを作成しています (t1 を t2 に「ミラーリング」します)。
ステップで、同じIDでt1で削除されたt2内の行を削除したいと思います。
私はこのクエリを試しました:
delete from t2 where t2.id in
( select t2.id left join t1 on (t1.id=t2.id) where t1.id is null )
しかし、Mysql は、削除と選択で同時に t2 を使用することを禁止しています (ちなみに論理的に聞こえます)。
もちろん、クエリを 2 つのクエリに分割できます。最初に ID を選択し、次にこれらの ID を持つ行を削除します。
私の質問: t1 にもう存在しない行を t2 から削除するよりクリーンな方法はありますか? 1つのクエリのみで?