mysql不支持update set from where这种写法,改用update inner join on set
update set from where时报错
update a.pay_info set a.need_pay=b.pay from brick.pay_info a ,(select debt+pay_way as pay , pay_id from brick.pay_map) b where a.pay_id = b.pay_id ;
报错信息15:55:21 Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘from brick.pay_info a ,(select debt+pay_way as pay , pay_id from brick.pay_map’ at line 1 0.000 sec from处显示显示from is not valid at this
改用update inner join on set
update (select debt+pay_way as pay , pay_id from brick.pay_map) b inner join brick.pay_info a on a.pay_id = b.pay_id set a.need_pay=b.pay ;
本文介绍了在MySQL中遇到的更新语句错误,原语句使用了不支持的`UPDATE SET FROM WHERE`语法。通过将更新语句改写为使用`UPDATE INNER JOIN ON SET`的方式,成功解决了问题。示例中展示了如何将子查询与JOIN结合,正确更新`pay_infos`表中的`need_pay`字段。
1619

被折叠的 条评论
为什么被折叠?



