移除&;在mySQL中使用连接添加行

移除&;在mySQL中使用连接添加行,mysql,Mysql,我想更新碰巧在一对多连接中链接的两个表 在运行适当的SQL函数之前,我使用R连接到数据库进行预处理。我的问题是,我计划使用的SQL函数是一种好方法,还是有更好的方法来容纳这种类型的数据 范例 DataFrame in R ID GroupID Group_Name Scores 1 1 "Ride High" "100,90,85" 2 2 "Flaming Idiots" "90,50,78" 生成

我想更新碰巧在一对多连接中链接的两个表

在运行适当的SQL函数之前,我使用R连接到数据库进行预处理。我的问题是,我计划使用的SQL函数是一种好方法,还是有更好的方法来容纳这种类型的数据

范例

DataFrame in R

ID      GroupID   Group_Name       Scores
1       1         "Ride High"      "100,90,85"
2       2         "Flaming Idiots" "90,50,78"
生成表的R代码(我使用的是Tidyverse)

我如何合理地解决这个问题的是,1对1连接可以是使用联接的直接更新,但1对多列必须首先从数据库中删除现有数据,然后才能添加新数据

最终结果

Group Table
ID      GroupID   Group_Name                 ID      GroupID   Group_Name
1       1         "Low Rider"                1       1         "Ride High"
2       2         "Hot Flames"       ->      2       2         "Flaming Idiots"
3       3         "Happy Roads"              3       3         "Happy Roads"
4       4         "Runners"                  4       4         "Runners"

Score Table
ID    GroupID    Scores                      ID    GroupID    Scores
#     1          100                         #     1          100
#     1          90                          #     1          90
#     2          0                           #     1          85
#     3          70                          #     2          90
#     3          70                          #     2          50
#     3          70                          #     2          78
...                                          #     3          70
                                             #     3          70
                                             #     3          70
                                             ...

这是有效的还是合乎逻辑的

Group是mysql中的保留字,您需要用反勾号括住每个事件。或者更改名称,Group是mysql中的保留字,您需要用反勾号括住每个事件。或者更改名称,
UPDATE Group_Table Gr 
       INNER JOIN Group_Update UG on Gr.GroupID = UG.GroupID
              set Gr.Group_Name = UW.Group_Name;

DELETE Sc FROM Score_Table Sc
    RIGHT JOIN Score_Update SU ON sc.GroupID = SU.GroupID;

INSERT INTO Score (GroupID,Scores)
SELECT 
   GroupID, Scores
FROM 
   Score_Update;
Group Table
ID      GroupID   Group_Name                 ID      GroupID   Group_Name
1       1         "Low Rider"                1       1         "Ride High"
2       2         "Hot Flames"       ->      2       2         "Flaming Idiots"
3       3         "Happy Roads"              3       3         "Happy Roads"
4       4         "Runners"                  4       4         "Runners"

Score Table
ID    GroupID    Scores                      ID    GroupID    Scores
#     1          100                         #     1          100
#     1          90                          #     1          90
#     2          0                           #     1          85
#     3          70                          #     2          90
#     3          70                          #     2          50
#     3          70                          #     2          78
...                                          #     3          70
                                             #     3          70
                                             #     3          70
                                             ...