一般的,一个表的字段,需要一个关联表的数据去修改更新他,这时候如果使用框架封装好的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连表查询