mysql update select:mysql 使用 select 结果 update 表必须使用 inner join 方式。

语法示例:

UPDATE a
INNER JOIN ( SELECT yy FROM b ) c ON a.id = c.id
SET a.xx = c.yy

使用示例:

student表:

id name clazz_id
1 张三 六年一班
2 李四 六年二班

clazz表:

id name
1 六年一班
2 六年二班

将 student 表中的 clazz_id 由班级名字更新为班级 id:

update student s
inner join (select id,name from clazz) c on s.clazz_id = c.name
set s.clazz_id = c.id