MySQL の複数結合ステートメントでテーブルを更新するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-24 11:12:11
オリジナル
829 人が閲覧しました

How to Update a Table in a MySQL Multi-Join Statement?

複数結合ステートメントで 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;
ログイン後にコピー

キーポイント:

  1. MySQL の JOIN 構文を使用した UPDATE には FROM 句は必要ありません。
  2. 更新するテーブルをSETで指定
  3. この非標準構文は MySQL 固有の拡張機能です。

以上がMySQL の複数結合ステートメントでテーブルを更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート