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

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

Mary-Kate Olsen
リリース: 2024-12-08 16:12:10
オリジナル
1025 人が閲覧しました

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 サイトの他の関連記事を参照してください。

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