我需要将旧表中的数据复制到新表中,但表之间的ID不同。存在第三个表,它将旧id与新id匹配。
我将使用什么查询来获取新的id并使用它从匹配表中获取旧的id,然后使用旧的id从旧表中获取数据并将其写入新表?
New table:
id | value
------------
1 | this
2 | content
3 | will
4 | be
5 | overwritten
Old table:
id | value
------------
6 | where
7 | when
8 | who
9 | how
10 | why
ID Matching table:
newid | oldid
------------
1 | 6
2 | 7
3 | 8
4 | 9
5 | 10
New table after update:
id | value
------------
1 | where
2 | when
3 | who
4 | how
5 | why
答案 0 :(得分:0)
您可以使用带有JOIN的UPDATE:
UPDATE `new` n
INNER JOIN `bind` b ON
b.newid = n.id
INNER JOIN `old` o ON
b.oldid = o.id
SET n.value = o.value;