0

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

让我这样解释:

TABLE1:

有一条记录,其name集合为 toxxyyzz123及其id等于24

现在我想用=替换记录的namein for = from ,所以如果in the will be它现在应该是相同的(在更新查询之后)。TABLE1id24nameid24TABLE2nameTABLE2xyyzzz321TABLE1

这可以在 MySQL 中完成吗?你能给我一些关于如何实现这一目标的提示吗?

4

3 回答 3

2

您需要一个update query with inner join between table1 and table2,它将两个表中的 id 与 where 条件匹配。

UPDATE Table1
SET    Table1.name = Table2.name,    
FROM   Table1 INNER JOIN Table2
ON     Table1.id = Table2.id
WHERE  Table1.id = 24
于 2013-01-08T04:24:01.320 回答
2

尝试

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

This will replace all t1.name with t2.name where id are similar in table t1 and t2

于 2013-01-08T04:24:58.470 回答
1

像这样

UPDATE TABLE1 AS t1 
INNER JOIN TABLE2 as t2 ON t1.id = t2.id 
SET t1.name = t2.name
WHERE t1.id = 24 
于 2013-01-08T04:24:26.163 回答