ホームページ >データベース >mysql チュートリアル >INNER JOIN を使用して複数の MySQL テーブルを正しく更新するにはどうすればよいですか?
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 サイトの他の関連記事を参照してください。