首页 > 数据库 > mysql教程 > 如何使用 INNER JOIN 正确更新多个 MySQL 表?

如何使用 INNER JOIN 正确更新多个 MySQL 表?

Mary-Kate Olsen
发布: 2024-12-08 16:12:10
原创
980 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板