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中文網其他相關文章!