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%'
我正在尝试更新用户信息(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%'