Mysql 通过联表查询更新数据
Mysql Update Select
前言
使用 mysql 更新表数据的时候,可以直接 将查询出来的数据更新过去。
使用
核心思想是 使用 inner join 连接另外一张表,这里说的另外一张表并不一定是一张独立的表,也可以是你通过其他方式构造出来的。
大致的语法如下:
update 待更新表 a
INNER JOIN 关联表 b
on a.id=b.id
set a.name=b.name ,a.age=b.age
where b.age > 30
这里的关联表 b 可以通过 left join 或者其他任何形式自己构建出来。
来看个实例:
update tbl_third_user_org a
INNER JOIN (
select uo.id,u.user_id from tbl_third_user_org as uo
left join tbl_third_user as u on uo.user_code = u.user_code
) b
on a.id = b.id
set a.user_id = b.user_id
这里 inner join 的 表 b 就是我们自己构造出来的。
Mysql 通过联表查询更新数据
https://shikai.info/archives/mysql-update-select