ホームページ >データベース >mysql チュートリアル >最初のテーブルではない場合に、MySQL Multi-Join ステートメント内のテーブルを更新する方法

最初のテーブルではない場合に、MySQL Multi-Join ステートメント内のテーブルを更新する方法

DDD
DDDオリジナル
2024-12-11 07:38:11512ブラウズ

How to Update a Table in a MySQL Multi-Join Statement When It's Not the First Table?

MySQL の複数結合ステートメントでテーブルを更新する

MySQL で結合テーブルを更新するのは、必要なテーブルを更新する場合に困難になることがあります。 update は結合チェーンの最初ではありません。この記事では、MySQL の型破りな UPDATE 構文を使用してこの障害を克服する方法について説明します。

複数テーブル更新の型破りな構文

Microsoft SQL Server の構文とは異なり、MySQL の JOIN を使用した UPDATE はステートメントでは、FROM で更新するテーブルを指定する必要はありません。条項。代わりに、SET 句で指定されたテーブルを暗黙的に使用します。

提供された例では、tableA と tableC の値に基づいて tableB を更新しようとします。

UPDATE tableB
FROM tableA
JOIN tableB ON a.a_id = b.a_id
JOIN tableC ON b.b_id = c.b_id
SET b.val = a.val+c.val
WHERE a.val > 10
AND c.val > 10;

キーポイント

  • SET 句は、更新するテーブルとして tableB を指定します。
  • FROM 句は、MySQL のマルチジョイン更新構文では必要ないため省略されます。
  • 標準 SQL は JOIN を使用した UPDATE をサポートしておらず、MySQL と Microsoft SQL Server は独自の拡張機能を実装しています。標準構文。

MySQL の独自の構文に従うことで、ターゲット テーブルが結合チェーンの最初でない場合でも、ユーザーは結合テーブルを正常に更新できます。

以上が最初のテーブルではない場合に、MySQL Multi-Join ステートメント内のテーブルを更新する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。