使用r和mysql合并表

时间:2018-06-26 05:54:49

标签: mysql r

MySql服务器中有一个表,例如

    (TABLE NAME: MAIN)
    id    name    attr    ...    jedi    color
    ------------------------------------------
    1     one     alpha   ...    NA      NA
    2     two     beta    ...    NA      NA
    3     three   gamma   ...    NA      NA
    ...   ...     ...     ...    ...     ...

和我本地存储中的另一个表

    (TABLE NAME: SUB)
    id    jedi     color
    ---------------------
    2     obi-wan  blue
    1     windu    purple
    3     luke     green
    ...   ...      ...

我想按ID合并这些表,并将结果同时保存到MySql表中。 'MAIN'表具有许多外键,因此我不想删除或更改该表中的任何内容,只想将'SUB'数据添加到'MAIN'表中。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

在此处使用更新联接:

UPDATE MAIN m
INNER JOIN SUB s
    ON m.id = s.id
SET m.jedi = s.jedi AND m.color = s.color;

这假设SUB表已经存在于MySQL中。一个简单的选择是将SUB创建为临时表,用于进行更新。

当然,如果您使用的是R语言,则可能正在使用某些API(您从未提到过哪个API),这可能会对您有所帮助。