我想将某个name
的记录id
替换为其他表中的值(具有相同的ID)。
让我这样解释一下:
TABLE1:
有一条记录,name
设置为xxyyzz123
,其id
等于24
,
现在,我想用name
= TABLE1
替换id
中的24
name
id
24
来自TABLE2
的{1}},如果name
中的TABLE2
为xyyzzz321
,则TABLE1
中的{{1}}现在应该相同(在更新查询之后) )。
这可以在MySQL中完成吗?你能给我一些如何实现这个目标的技巧吗?
答案 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