为了账号安全,请及时绑定邮箱和手机立即绑定

MYSQL更新语句内部联接表

MYSQL更新语句内部联接表

红颜莎娜 2019-10-06 15:04:38
我不知道是什么问题。使用MySQL 5.0尝试运行以下MYSQL更新语句时出现编译错误  UPDATE  bSET b.mapx = g.latitude,  b.mapy = g.longitudeFROM business AS bINNER JOIN business_geocode g ON b.business_id = g.business_idWHERE  (b.mapx = '' or b.mapx = 0) and  g.latitude > 0所有字段名称都是正确的。有什么想法吗?
查看完整描述

3 回答

?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

尝试这个:


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> create table business (business_id int unsigned primary key auto_increment, mapx varchar(255), mapy varchar(255)) engine=innodb;

Query OK, 0 rows affected (0.01 sec)


mysql> create table business_geocode (business_geocode_id int unsigned primary key auto_increment, business_id int unsigned not null, latitude varchar(255) not null, longitude varchar(255) not null, foreign key (business_id) references business(business_id)) engine=innodb;

Query OK, 0 rows affected (0.01 sec)


mysql> 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;

Query OK, 0 rows affected (0.00 sec)

Rows matched: 0  Changed: 0  Warnings: 0

看到?没有语法错误。我针对MySQL 5.5.8进行了测试。


查看完整回答
反对 回复 2019-10-06
?
慕虎7371278

TA贡献1802条经验 获得超4个赞

该SET子句应在表规范之后。


UPDATE business AS b

INNER JOIN business_geocode 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


查看完整回答
反对 回复 2019-10-06
?
湖上湖

TA贡献2003条经验 获得超2个赞

对于MySql WorkBench,请在下面使用:


update emp as a

inner join department b on a.department_id=b.id

set a.department_name=b.name

where a.emp_id in (10,11,12); 


查看完整回答
反对 回复 2019-10-06
  • 3 回答
  • 0 关注
  • 598 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信