600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > mysql 根据查询结果集更新数据

mysql 根据查询结果集更新数据

时间:2021-05-24 04:45:03

相关推荐

mysql 根据查询结果集更新数据

声明: MySQL4.0之后的版本可以支持下面sql语句进行更新操作

应用场景:

一个表中的字段需要根据查询结果集进行更新,或者从另一表查询获得 其本质还是更新的数据需要查询获得.

例如: user 表中有也用户会员卡数量的字段,而这些数据保存在另一张表membership_card ,membership_card 表的一条记录代表着一个用户拥有某家商店的会员卡.那么要将想更新用户会员卡数量的字段

更新方法有两种

第一种: 使用连接关键字,如 left join …等

update user t LEFT JOIN( SELECT COUNT(DISTINCT user_id,shop_id) as a ,user_id from membership_card GROUP BY user_id) t1 on t.id=t1.user_idset t.membership_cards = t1.a ;COMMIT;

第二种: 是直接利用 “,” 直接连接"两张表"(查询结果也是张临时表)

update user t ,( SELECT COUNT(DISTINCT user_id,shop_id) as a ,user_id from membership_card GROUP BY user_id) t1 set t.membership_cards = t1.awhere t.id=t1.user_id;COMMIT;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。