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