mysql 更新查询抛出语法错误

mysql update query throwing syntax error

我正在尝试更新用户信息(phone 号),但 mysql 显示语法错误。

这里是显示所有数据的查询(phone number)

select distinct a.phone
from users u
join updated_phone a on a.phone like concat(u.phone_no, '%')
where u.phone_no like '88%'

这个查询工作正常。

这里是更新 phone 用户数 table

的查询
UPDATE u
SET u.phone_no=a.phone
FROM      updated_phone as a 
JOIN      users as u
         on a.phone like concat(u.phone_no, '%')
         where u.phone_no like '88%'

但是此更新查询在 FROM 附近抛出语法错误并且不更新值。 如何解决这个语法错误和更新信息?

您不应在 update 中使用 from,因为更新 table 已在 UPDATE 子句中定义。

 UPDATE users as u
 JOIN   updated_phone as a    on a.phone like 'u.phone_no%'
 SET u.phone_no= a.phone
 where u.phone_no like '88%'