mysql update使用select的结果

本文探讨了在SQL Server和Oracle中直接使用SELECT子句进行更新的方法,并介绍了MySQL如何通过INNER JOIN实现相同功能。文中提供了具体示例,包括虚拟机分类更新和支付记录数据资源变更。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在sql server,oracle中,我们可是使用以下update语句对表进行更新:

update a set a.xx= (select yy from b)

但是在mysql中,不能直接使用set select的结果,必须使用 inner joi

update a inner join (select yy from b) c set a.xx = c.yy

使用实例: 

update virtualmachine v INNER JOIN (select  vm.id  from  virtualmachine vm left join functionalci fi on vm.id=fi.id where locate('.',fi.name)<=0 ) c on v.id=c.id set v.category='VirtualDesktop'
update ( select dataresource
   from KDTA_TA1130.ecpay_abnormalrcd
  where businesscode = '98'
            and dataresource = '0'
            and ecno ='00682'
            and abnormallevel = '1' ) t
 set t.dataresource =9 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值