两张关联表,INNER JOIN同步公共属性(工作实战)
1.背景
今天测试跑过来和我说,有张表sys_user的main_depart_id的属性全都不对,但是看它的关联表sys_depart_user的depart_id是对的,也就是sys_user的main_depart_id和sys_depart_user的depart_id应该是相同的,但是现在不一致,问我如何能快速把数据同步。
2.相关表结构(部分属性)
sys_user(id,main_depart_id)
sys_depart_user(id,sys_user_id,depart_id)
sys_depart(id)
注:我们数据库这里的sys_user的main_depart_id和sys_depart_user的depart_id应该是一致,都指的是sys_depart的id。
3.SQL
UPDATE sys_user
INNER JOIN sys_depart_user
ON sys_user.id = sys_depart_user.sys_user_id
SET sys_user.main_depart_id = sys_depart_user.depart_id
WHERE sys_user.id = sys_depart_user.sys_user_id and sys_user.is_delete = '0'
4.小结
第一次这么使用INNER JOIN来同步两张表的数据,之前一直都是用来查询数据的,特此记录