如果update一个表的字段时,该字段的值需要从另一个表中select来时,此时需要连表更新,mysql的语法如下:
update oss_system_user a inner join (select id, refGroupId from oss_system_department) b on a.department = b.id set a.departmentGroupId = b.refGroupId;常规思维这样写是不正确的:
update oss_system_user t set t.departmentGroupId = (select b.refGroupId from oss_system_user a join oss_system_department b on a.department = b.id where a.loginId = 'admin') where t.loginId = 'admin';
本文介绍了MySQL中如何使用连表更新的方式修改一个表的字段值,该字段值来源于另一个表的查询结果。通过对比错误的写法和正确的写法,帮助读者理解连表更新的正确用法。
1696

被折叠的 条评论
为什么被折叠?



