複数結合ステートメントで MySQL テーブルを更新する
MySQL で複数の結合を扱う場合、結合されたテーブルを更新するためのさまざまな構文を理解するテーブルは重要です。 SQL Server とは異なり、MySQL は独自のアプローチを採用しています。
問題:
一連の結合に関係するテーブルで更新操作を実行することは、必要な場合に困難になる可能性があります。 table は結合順序の最初ではありません。
サンプルクエリ:
仮定のクエリを考えてみましょう:
UPDATE b FROM tableA a JOIN tableB b ON a.a_id = b.a_id JOIN tableC c ON b.b_id = c.b_id SET b.val = a.val+c.val WHERE a.val > 10 AND c.val > 10;
解決策:
MySQL では、JOIN を使用した UPDATE 構文は異なる動作をします。 。更新するテーブルはステートメント内で明示的に指定されていません。代わりに、SET 句から推測されます。したがって、正しいクエリは次のようになります:
UPDATE tableA a JOIN tableB b ON a.a_id = b.a_id JOIN tableC c ON b.b_id = c.b_id SET b.val = a.val+c.val WHERE a.val > 10 AND c.val > 10;
キーポイント:
以上がMySQL の複数結合ステートメントでテーブルを更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。