Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
469 views
in Technique[技术] by (71.8m points)

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'

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...