美文网首页
mysql用关联表的某个字段值更新目标表某个字段

mysql用关联表的某个字段值更新目标表某个字段

作者: 李北北 | 来源:发表于2017-11-02 14:52 被阅读0次

因为用户表和部门表是通过数据同步从其他数据库复制过来的数据,因为系统Bug的原因,某些用户调整了部门之后,没有同步更新到本数据库,这里就导致了当前数据库中的用户所属部门还是原来的部门,系统的bug修复了,但是已经更新过的数据所属部门还是错的,而且因为用户数量巨大,从管理系统中也不知道哪些用户没有同步部门,于是就使用sql语句直接更新部门信息。涉及到的用户表关联部门表,然后用部门id更新用户表department_id 的sql语句如下:

UPDATE `user` u
LEFT JOIN department d ON d.id = u.department_id
LEFT JOIN department dd ON dd.dept_sid = u.old_department_id
SET u.department_id = dd.id
WHERE
    d.dept_sid != u.old_department_id
AND u.old_department_id = dd.dept_sid;

相关文章

网友评论

      本文标题:mysql用关联表的某个字段值更新目标表某个字段

      本文链接:https://www.haomeiwen.com/subject/hmgopxtx.html