首页 >数据库 >mysql教程 >为什么使用 INNER JOIN 的 MySQL UPDATE 查询会产生语法错误?

为什么使用 INNER JOIN 的 MySQL UPDATE 查询会产生语法错误?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-11 03:38:10887浏览

Why Does My MySQL UPDATE Query with INNER JOIN Produce a Syntax Error?

使用 MySQL 的内连接更新查询:排除语法错误

执行以下 MySQL 更新查询时遇到语法错误:

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

评估

原始查询为业务表定义的表别名不正确;它应该在您的查询中为 b ,因为您在那里。这是唯一的语法问题。

附加注释

您的错误消息丢失。提供它将有助于查明问题的确切原因。此外,验证表中的字段类型(例如,mapx 和 mapy)是否与您尝试插入的数据匹配。

以上是为什么使用 INNER JOIN 的 MySQL UPDATE 查询会产生语法错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn