场景1:表B:id,name,code三个字段均有值;表A :id,name,code 其中id,name有值并且与表B相对应,code值为null。现在将B表中的code值更新到A表中。
方法1:id不能有重复:
update t_a a set a.code=(select code from t_b b where b.id=a.id )
方法2:适合少量数据
update t_a a inner join (select code from t_b ) b set a.code=b.code;
场景2:表B:id,name,code,detail四个字段均有值;表A id,name,code,detail其中id,name有值并且与表B相对应,code,detail值为null。现在将B表中的code和detail值更新到A表中。
方法1:
update t_a a set a.code=(select code from t_b b where b.id=a.id ), a.detail=(select detail from t_b b where b.id=a.id );
方法2:
update t_a a inner join (select code, detail from t_b ) b set a.code=b.code, a.detail=b.detail;
场景3:将表B中数据全部更新到A中,存在即更新code字段,不存在便插入新记录
方法1:
insert into t_a (id, name, code) select id, name, code from t_b ON DUPLICATE KEY UPDATE code=VALUES(code);
存在即更新关键字:ON DUPLICATE KEY UPDATE
今天的文章 MySQL中A表数据UPDATE到B表分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/84146.html