SQL怎样大批量把一张表的某个用户的记录总数当做值插入到另外一张表的某个字段

呆呆的初学者 2018-10-09 06:22:36
1.我现在有一张表like,存放的是用户关注的的信息。一张表user,存放的是用户的信息。user表中有一个字段是是concern_num存放的是用户关注的数量。
2.本来like表中某个用户的记录条数应该是和user表中的concern_num的数量是一致的,现在数据全乱了。
3.我现在需要把数据同步正常。
请问怎么样能够快速的把数据同步正常?mysql数据库
...全文
683 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
有点儿困 2018-10-19
  • 打赏
  • 举报
回复
存储执行,定时启动。单独的sql不是万能的
鬼善 2018-10-13
  • 打赏
  • 举报
回复
每天记得记得做数据备份,支持楼上
HeiBoyYang 2018-10-10
  • 打赏
  • 举报
回复
写sql存储过程,也是一条sql,具体思路

CREATE PROCEDURE

begin

for 一下关联键值数组

执行

update user set concern_num = (select concern_num from like where 关联键值 = 'xx') where 关联键值 = 'xx';


end
qq593467574 2018-10-10
  • 打赏
  • 举报
回复
update a set a.concern_num=b.concern_num from like a,user b where a.user_id=b.user_id

SQL SERVER可行,mysql不清楚,你可以试一下
呆呆的初学者 2018-10-10
  • 打赏
  • 举报
回复
现在2张表唯一的关联就是user_id,我希望是一条sql能搞定全部。不是一个一个去修改啊。
nayi_224 2018-10-10
  • 打赏
  • 举报
回复
update _user t1, 
	    (select count(1) cc, v1.id id from _like v1 group by v1.id) t2
set t1.concern_num = t2.cc
where t1.id = t2.id
;
xxfamly 2018-10-10
  • 打赏
  • 举报
回复
类似SQL:
update user a set a.concern_num = b.concern_num from (select count(*) concern_num,user_id from like group by user_id) b where a.user_id = b.user_id;
HeiBoyYang 2018-10-09
  • 打赏
  • 举报
回复
for 一下关联键值数组

执行

update user set concern_num = (select concern_num from like where 关联键值 = 'xx') where 关联键值 = 'xx';

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧