ホームページ >データベース >mysql チュートリアル >INNER JOIN を使用して複数の MySQL テーブルを正しく更新するにはどうすればよいですか?

INNER JOIN を使用して複数の MySQL テーブルを正しく更新するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-08 16:12:10980ブラウズ

How to Correctly Update Multiple MySQL Tables Using an INNER JOIN?

MySQL 内部結合テーブルのクエリ更新

MySQL で内部結合を使用して複数のテーブルを更新しようとすると、コンパイル エラーが発生する可能性があります。具体的には、次のクエリは MySQL 5.0 でコンパイル エラーになります。

UPDATE  b
SET b.mapx = g.latitude,
    b.mapy = g.longitude
FROM business AS b
INNER JOIN business_geocode g ON b.business_id = g.business_id
WHERE (b.mapx = '' OR b.mapx = 0) AND
      g.latitude > 0

この問題を解決するには、クエリを次のように再配置します。

UPDATE business AS b
INNER JOIN business_geocode AS g ON b.business_id = g.business_id
SET b.mapx = g.latitude,
  b.mapy = g.longitude
WHERE  (b.mapx = '' or b.mapx = 0) and
  g.latitude > 0

上記のクエリは構文的に異なることに注意してください。正しい。ただし、MySQL 5.5.8 の既存のテーブルに対してクエリをテストした場合、影響を受ける行はありませんでした。これは、関係する特定のデータとテーブル構造に応じて、さらなる調査が必要な別の問題である可能性があります。

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

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