MySQL 聯(lián)合查詢并更新到另一個(gè)表,求教
問(wèn)題描述
A表里有uid,name B表有uid,nick
我想把A表和B表的name,nick 都更新到C表,但是C表可能有對(duì)應(yīng)uid,也可能沒(méi)有,3個(gè)表的uid都設(shè)置了主鍵。求教該怎么寫SQL語(yǔ)句。
假如A表和B表的uid不是全對(duì)應(yīng)的,A表有的uid B表不一定有,但是我想讓C表都更新,只要A或B有一個(gè)有的,C表的uid就添加它。該怎么寫。非常感謝!
我這樣寫的,會(huì)提示主鍵沖突。
[SQL]insert into accounts(uid,balance) (select uid,balance from wp_accountinfo);[Err] 1062 - Duplicate entry ’325’ for key ’PRIMARY’
問(wèn)題解答
回答1:你這樣寫肯定會(huì)沖突的啊,這樣的話你就插入了重復(fù)的主鍵了,最簡(jiǎn)單的就是分多個(gè)sql操作就可以了。比如你可以把A和C表重復(fù)的uid更新掉。然后再把C中不存在A的添加到C中,以此類推就可以了
回答2:insert into account(uid,balance) (select uid, balance from wp_accountinfo) on duplicate key update balance=column(blance);
相關(guān)文章:
1. 萌新的一些想法和求教2. ide - 求教:mac 下打開(kāi)eclipse報(bào)Failed to create the Java Virtual Machine.3. java - 新手求教,當(dāng)前時(shí)間問(wèn)題?4. angular.js - 求教 route ng-view 單頁(yè)切換時(shí)如何緩存用戶輸入信息5. angular.js - 我想實(shí)現(xiàn)打印angular $scope數(shù)據(jù),代碼如何實(shí)現(xiàn)呢?求教(如下圖)6. javascript - 求教:如何從頁(yè)面1鏈接到頁(yè)面2時(shí),使頁(yè)面2原本隱藏的div顯示?7. node.js - 我是一個(gè)做前端的,求教如何學(xué)習(xí)vue,node等js引擎?8. python - 用subprocess terminate沒(méi)法結(jié)束進(jìn)程 求教9. 求教 mysql 多表計(jì)算10. laravel excel求教
