[英]update column from one table to another mysql
我試圖將一列從一個表復制到另一個表。
一個表僅包含upc列,我想將這些upc復制到另一個具有upc列等於NULL的表中
table A
upc
1011
2022
3034
4033
5044
table B
id name upc
1 stuff NULL
2 stuff2 NULL
3 stuff3 2344
4 stuff4 3444
本質上,最終結果應該是
table B
id name upc
1 stuff 1011
2 stuff2 2022
3 stuff3 2344
4 stuff4 3444
這就是我嘗試過的。 但是,所有列都更新為NULL。 絕對不是理想的效果。
UPDATE t1
RIGHT JOIN
upcs t2
ON t1.upc = t2.upc
SET t1.upc = t2.upc
WHERE t1.upc IS NULL
如果有人幫我解決這個問題,將不勝感激。 謝謝
嘗試這個:
UPDATE tableB
SET upc = a.upc
FROM (SELECT upc FROM tableA) a WHERE tableB.id = tableA.id
如果沒有外鍵可以連接兩個表,並且您希望按列出的確切順序連接行,那么將在數據庫中
試試這個。
SET @id=0;
UPDATE table_b AS b
INNER JOIN (
SELECT @id:=@id+1 AS id, upc
FROM table_a
) AS a ON a.id = b.id
SET b.upc = a.upc
WHERE b.upc IS NULL;
該代碼的作用是對表B 1, 2, 3, .......n
的行編號,然后使用行號將table_a連接到table_b。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.