MySQL 联合查询并更新到另一个表,求教
ringa_lee
ringa_lee 2017-04-17 16:31:40
[MySQL讨论组]

A表里有uid,name B表有uid,nick

  1. 我想把A表和B表的name,nick 都更新到C表,但是C表可能有对应uid,也可能没有,3个表的uid都设置了主键。
    求教该怎么写SQL语句。

  2. 假如A表和B表的uid不是全对应的,A表有的uid B表不一定有,但是我想让C表都更新,只要A或B有一个有的,C表的uid就添加它。该怎么写。
    非常感谢!

我这样写的,会提示主键冲突。

[SQL]insert into accounts(uid,balance) (select uid,balance from wp_accountinfo);
[Err] 1062 - Duplicate entry '325' for key 'PRIMARY'
ringa_lee
ringa_lee

ringa_lee

全部回复(2)
巴扎黑

你这样写肯定会冲突的啊,这样的话你就插入了重复的主键了,
最简单的就是分多个sql操作就可以了。
比如你可以把A和C表重复的uid更新掉。
然后再把C中不存在A的添加到C中,以此类推就可以了

天蓬老师
insert into account(uid,balance) (select uid, balance from wp_accountinfo) on duplicate key update balance=column(blance);
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号