将特定数据从一个MySQL表复制到另一个MySQL表

时间:2013-02-18 13:11:48

标签: mysql sql

我有一张桌子,让我们称之为旧桌子,另一张叫做新桌子。

我需要从旧(列ip)中选择IP并将其插入到新行,每行的电子邮件匹配。

即:两个表中都有一封名为email@email.com的电子邮件。新的ip是空的。我需要从旧的ip获取并将其插入新的电子邮件相同的地方(电子邮件是唯一的)。这应该发生在每一行。

这是否接近?

INSERT INTO new (ip)  
SELECT old.ip FROM old  
WHERE new.email = old.email  

1 个答案:

答案 0 :(得分:2)

是的,它太近了。最好使用显式JOIN语法:

INSERT INTO new (ip)
SELECT old.ip 
FROM old
INNER JOIN new on old.email = new.email;