MySQL 8 用另一张表数据更新表时报1064语法错误如何解决
MySQL多表更新语法错误解决方案
错误原因
你使用的UPDATE ... FROM多表更新语法是PostgreSQL、SQL Server等数据库支持的语法,MySQL不支持该写法,因此触发1064语法错误。
正确修改后的SQL语句
UPDATE route_info a INNER JOIN temporary_table b ON a.route_driven_date = b.route_driven_date SET a.address = b.address, a.planned_arrival_time = b.planned_arrival_time, a.planned_depart_time = b.planned_depart_time, a.revised_stop_time = b.revised_stop_time;
可选扩展说明
- 上述语句使用INNER JOIN,只会更新两个表中
route_driven_date匹配的记录,符合你当前的需求 - 如果需要将临时表中目标表不存在的记录也新增到
route_info,可以用INSERT ... ON DUPLICATE KEY UPDATE语法,前提是route_driven_date是route_info的主键或唯一键
内容的提问来源于stack exchange,提问作者Srikanth Gowda
相关产品推荐
相关产品推荐

