Mysql update根据一个表的字段 更新另一个字段的值

一般的,一个表的字段,需要一个关联表的数据去修改更新他,这时候如果使用框架封装好的sql查询,那么只能循环遍历,如果想要一次性更新,那么就只能用sql原生的关联更新查询
我们一般的,mysql不支持子查询更新操作,只支持关联查询 语句如下

UPDATE employee emp
JOIN dept dt ON emp.deptid = d.id 
SET emp.dept_name = d.dept_name 
WHERE emp.deptid IN (99,100,101,102,103); 

这里的意思是:
Update 表名称 别名
JOIN 表名称 别名 On 关联id=id
set 字段 = 字段
where 条件~

如果使用迁移文件修改数据库可以这么写,但是如果是系统频繁修改使用的的话建议换一种方式,因为这种写法会有注入风险

下面是参考链接:mysql连表查询

猜你喜欢

转载自blog.csdn.net/weixin_44000238/article/details/107798578