MySQL将select结果执行update的实例教程

一、单表查询—>更新

update table_name
set field1=new-value1, field2=new-value2
[where clause]

二、多表联合查询—>更新

update a
inner join (select yy from b) c on a.id = c.id 
set a.xx = c.yy
[where clause]
  • 上面的 inner join ,可以换为 left join 、 right join 等联合查询。
  • set 后的字段必须为 a 表中的字段,该字段可以等于某个常量,可以等于某一列。若不是 a 表中的字段,则会报 the target table b of the update is not updatable 的信息。
  • where 子句必须放在 set 后面
  • update 后的 a 表不是查询的结果,也不能是 select 子句

例子:

tableex_copy1表

tablein_copy1表

查询sql

select * from
tableex_copy1 a left join
(select * from tablein_copy1) b
on a.bid = b.aid
where b.asex = '女'

update sql

update
#select * from
tableex_copy1 a left join
(select * from tablein_copy1) b
on a.bid = b.aid
set a.ceshi = '6666'
where b.asex = '女'

更新之后的tableex_copy1表

总结

到此这篇关于mysql将select结果执行update的文章就介绍到这了,更多相关mysql将select结果执行update内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐