我有2张桌子,他们的结构相同但用于2个不同的应用程序。因此,每个记录都有唯一的记录(来自app1的记录在app2中不存在)。但它们的ID由2个应用程序单独维护。因此,app1中的ID可能存在于app2中,但信息不同。
我需要将这两个表记录合并到一个表中,因为这两个应用程序正在合并为一个。问题在于ID。我可能会重置id并重新生成每条记录的唯一ID。其他表未引用ID,因此重置它不是问题。但我不确定如何执行此操作。
答案 0 :(得分:6)
创建一个包含自动增量(id)列的表。
然后创建一个INSERT ... SELECT查询以从每个表中导入数据
E
INSERT INTO new_table(column1,column2,.....) -- ommiting the id column
SELECT column1,column2,... -- ommiting the id column
FROM old_table1
INSERT INTO new_table(column1,column2,.....) -- ommiting the id column
SELECT column1,column2,...-- ommiting the id column
FROM old_table2
答案 1 :(得分:1)
此处使用INSERT INTO .. SELECT FROM
- 没有id
列。 Aslo,我会把一个application_id列放到新表中 - 只是为了确保我知道哪些数据来自哪里:
INSERT INTO your_table(app_id, col1,co2,.....)
SELECT 1, col1,col2,...
FROM old_table1
申请2:
INSERT INTO your_table(app_id, col1,co2,.....)
SELECT 2, col1,col2,...
FROM old_table2
答案 2 :(得分:0)
因此,来自app1的ID可能存在于app2中 但是信息不同。
您可能希望查看的一个选项是using a view,以便以适用于任何应用程序的格式合并两个表的数据。