2013-01-08 23 views
0

我想將某個id的記錄name替換爲其他表(具有相同的ID)的值。用其他表中的值替換某個記錄

讓我解釋一下這樣的:

TABLE1:

沒有與name集的記錄xxyyzz123及其id等於24

現在我想更換nameTABLE1爲與id = 24name的記錄id = 24TABLE2,所以如果nameTABLE2將是xyyzzz321它現在應該在TABLE1(更新查詢後)相同。

這可以在MySQL中完成嗎?你能給我一些關於如何達到這個目的的提示嗎?

回答

2

您需要一個update query with inner join between table1 and table2,它將匹配來自表 的ID與條件。

UPDATE Table1 
SET Table1.name = Table2.name,  
FROM Table1 INNER JOIN Table2 
ON  Table1.id = Table2.id 
WHERE Table1.id = 24 
1

像這樣

UPDATE TABLE1 AS t1 
INNER JOIN TABLE2 as t2 ON t1.id = t2.id 
SET t1.name = t2.name 
WHERE t1.id = 24 
2

TRY

UPDATE table1 t1 , table2 t2 
SET t1.name = t2.name 
WHERE t1.id = t2.id 

這將替換所有t1.namet2.name其中id是表t1和t2

相似
相關問題