mysql关联更新update

43 篇文章 0 订阅
样式1:
update xcs_user_credit_score a1,xcs_user_credit_score a2
   set a1.user_currday_score=a1.user_currday_increment_score+a2.user_currday_score
 where a1.pt_day='2017-09-20' and a2.pt_day='2017-09-19'
   and a1.uid=a2.uid;

样式2:
update xcs_user_credit_score a1
 inner join xcs_user_credit_score a2
    on a1.uid=a2.uid
   set a1.user_currday_score=a1.user_currday_increment_score+a2.user_currday_score
 where a1.pt_day='2017-09-20' and a2.pt_day='2017-09-19'
;

突然发现mysql的一些sql语法也很神奇,像这样式的sql语句,在oracle中是行不通的,需要其他的形式。
另外的几个例子:
--sub:
update xcs_user_credit_score a1,xcs_user_credit_score a2
   set a1.user_currday_score=(case when a2.user_currday_score-10>0 then a2.user_currday_score-10 else 0 end)
 where a1.pt_day='2017-09-20' and a2.pt_day='2017-09-19'
   and a1.uid=a2.uid
   and (a1.seqing_score=0 and a1.user_silent_score=0 and a1.jubao_score=0 and a1.chengpaopao_score=0 and a1.weifan_score=0 and a1.upper_manage_score=0 and a1.pay_active_score=0 and a1.view_active_score=0 and a1.message_active_score=0 and a1.gift_active_score=0 and a1.live_active_score=0)
   and a2.user_currday_score>0
;

--plus:
update xcs_user_credit_score a1,xcs_user_credit_score a2
   set a1.user_currday_score=(case when a1.user_currday_score+10<0 then a1.user_currday_score+10 else 0 end)
 where a1.pt_day='2017-09-20' and a2.pt_day='2017-09-19'
   and a1.uid=a2.uid
   and (a1.seqing_score=0 and a1.user_silent_score=0 and a1.jubao_score=0 and a1.chengpaopao_score=0 and a1.weifan_score=0)
   and a1.user_currday_score<0
;

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
MySQL update 关联更新是指将一个数据表中的数据更新到另一个数据表中的指定记录。这种操作在数据库管理系统中是非常常见的,但是如何优化这种操作仍然是许多开发者关心的问题。 首先,为了优化 MySQL update 关联更新,我们需要正确设计数据库的数据结构。在设计数据表时,我们应该将经常需要关联的字段放到同一个数据表中,这样可以减少关联的数据表数量,提高查询效率。 第二,为了优化 MySQL update 关联更新,我们需要正确使用索引。在 MySQL 中,使用索引可以大大提高查询效率。因此,我们需要合理地设计和使用索引,以减少关联的数据表数量,提高数据查询效率。 第三,为了优化 MySQL update 关联更新,我们还可以使用缓存。在 MySQL 中,缓存可以将经常使用的数据存储在内存中,以提高读取效率。因此,我们可以使用缓存来优化 MySQL update 关联更新的效率。 最后,为了优化 MySQL update 关联更新,我们还可以考虑使用分布式数据库。分布式数据库可以将数据分散存储在多台服务器上,以提高数据处理效率。因此,我们可以使用分布式数据库来优化 MySQL update 关联更新的效率。 总之,MySQL update 关联更新是数据库管理中非常重要的操作,我们需要对其进行优化,以提高数据处理效率。通过正确设计数据结构,使用索引和缓存,以及使用分布式数据库等方法,我们可以大大提高 MySQL update 关联更新的效率。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值