首页 > 解决方案 > 使用 r 与 mysql 合并表

问题描述

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”表中。我怎样才能做到这一点?

标签: mysqlr

解决方案


在此处使用更新连接:

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(您从未提到过哪一个),这可能会有所帮助。


推荐阅读