用另一个表中的值替换某些记录

时间:2013-01-08 04:15:18

标签: mysql

我想将某个name的记录id替换为其他表中的值(具有相同的ID)。

让我这样解释一下:

TABLE1:

有一条记录,name设置为xxyyzz123,其id等于24

现在,我想用name = TABLE1替换id中的24 name id 24来自TABLE2的{​​1}},如果name中的TABLE2xyyzzz321,则TABLE1中的{{1}}现在应该相同(在更新查询之后) )。

这可以在MySQL中完成吗?你能给我一些如何实现这个目标的技巧吗?

3 个答案:

答案 0 :(得分: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 :(得分:2)

TRY

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

这会将所有t1.name替换为t2.name,其中id与表t1和t2相似

答案 2 :(得分:1)

喜欢这个

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