mysql-多表关联更新数据

本文介绍如何在MySQL中进行多表关联更新操作,特别是在用户表(user)中根据部门表(department)的city_id来同步更新user表的city_id字段,同时考虑了数据的逻辑删除状态(enabled)。

mysql-多表关联更新数据

场景:需要根据部门(department)表的city_id更新对应user(用户表)的city_id字段的值,用户表与部门表的逻辑外键(user表的dept_id)-至于为什么这样做你别管。user-用户表 department-部门表 enabled-是否已删除

UPDATE  `user` u
INNER  JOIN
(SELECT u.id,d.city_id FROM department d INNER JOIN `user` u on u.dept_id=d.id  WHERE u.enabled=0 and d.enabled=0) t
on t.id=u.id
SET u.city_id=t.city_id
WHERE
u.enabled=0
and u.dept_id is not null;

示例 2:

UPDATE order o 
INNER JOIN 
product_item  i ON o.itemId=i.id
SET o.salePrice=i.salePrice
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值