【发布时间】:2018-01-05 17:08:19
【问题描述】:
长话短说,我需要能够组合两个表(一个是前一个表的延续,但有一点重叠)。然后我需要将一列设置为主键,这意味着没有重复。当我尝试只使用 SQL Management Studio 中的导入向导并将一个表导入另一个表时,它只是将一个表中的所有数据添加到下一个表中。我需要找出某种方法或 SQL 命令,将新表中的所有数据导入旧表中,并将任何现有的重复数据替换为新表中的数据。
这样想,我有两张表,数据如下:
People_Old table
+------+--------+
| Name | Color |
+------+--------+
| Mary | Blue |
| Katy | Yellow |
| Jim | Green |
| John | Red |
+------+--------+
People table
+------+--------+
| Name | Color |
+------+--------+
| Jim | Silver |
| John | Brown |
| Greg | Purple |
| Liz | Pink |
+------+--------+
假设“名称”列是主键,我想将新“人物”表中的数据添加到旧“人物_旧”表中,但替换重叠数据,以免重复。在本例中,我希望最终的“People_Old”表为:
+------+--------+
| Name | Color |
+------+--------+
| Mary | Blue |
| Katy | Yellow |
| Jim | Silver |
| John | Brown |
| Greg | Purple |
| Liz | Pink |
+------+--------+
【问题讨论】:
-
更多信息,
-
您可以先添加主键,然后“插入-选择”包含较新数据的表中的数据,然后“插入忽略-选择”旧表中的数据。 dev.mysql.com/doc/refman/5.7/en/insert-select.html
-
合并查询可能会起作用。
标签: mysql sql database datatable