MySQL 链表查询并以此结果更新表中记录

应用场景:

有两个不同系统的导出的用户表user1和user2,其中user1表的id字段和user2表id字段是一致的,两个表的人名字段包含不同项,现需要把不同项查出并用这些数据更新user1表中数据。

对比两个表,找出不同项目

注意!!!!
注意!!!!
注意!!!!

需要先对两个表的id值建立索引,否则查询奇慢无比(已采坑)

    CREATE INDEX index_eenum On user1(id);
    CREATE INDEX index_eenum On user2(id);

再采用JOIN语句进行联结查询即可

SELECT
    * 
FROM
    user1 as u1
JOIN 
    user2 as u2
ON u1.id=u2.id AND u1.name !=u2.name

下面以查询结果更新user1表中信息

UPDATE 
    user1 AS u1
JOIN 
    user2 AS u2 
ON u1.id = u2.id AND u1.name!=u2.name
set u1.name=u2.name where u1.id=u2.id

参考:
1. https://www.cnblogs.com/whowhere/p/5666814.html
2. 《MySQL数据库应用从入目你到精通》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值