合并 2 个 id 重叠的表

发布于 2024-11-19 08:15:11 字数 266 浏览 1 评论 0原文

我有 2 个表,它们的结构相同,但用于在 2 个不同的应用程序中提供服务。因此,它们每个都有唯一的记录(app1 中的记录不会存在于 app2 中)。但它们的 Id 是由 2 个应用程序单独维护的。因此,app1 中的 id 可能存在于 app2 中,但具有不同的信息。

我需要将这 2 个表记录合并到一张表中,因为这 2 个应用程序正在合并为一个表。问题出在 ids 上。我可能会重置 id 并为每条记录重新生成唯一的 id。 id 没有被其他表引用,因此重置它不是问题。但我不太确定如何执行此操作。

I have 2 tables, their structure is identical but used to serve in 2 different applications. So, each of them have unique records (records from app1 won't exist in app2). But their Ids are maintained separately by the 2 apps. So, ids from app1 might exist in app2 but with different information.

I need to merge these 2 tables records into one table because the 2 applications are being merged into one. The problem is with the ids. I will probably reset the ids and regenerate the unique id for each record. The ids is not referenced by other tables, so resetting it is not a problem. But I'm not really sure how to execute this.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

你如我软肋 2024-11-26 08:15:11

创建一个具有自动递增 (id) 列的表。

然后创建一个 INSERT ... SELECT 查询以从每个表导入数据,

例如

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

Create a table with an auto incremend (id) column.

Then create an INSERT ... SELECT query to import data from each table

Eg

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
叹梦 2024-11-26 08:15:11

此处将使用 INSERT INTO .. SELECT FROM - 不带 id 列。同样,我会将 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

The INSERT INTO .. SELECT FROM is to be used here - without the id column. Aslo, I would put an application_id column into the new table - just to be sure that I know what data came from where:

INSERT INTO your_table(app_id, col1,co2,.....) 
SELECT 1, col1,col2,... 
FROM old_table1

For application 2:

INSERT INTO your_table(app_id, col1,co2,.....) 
SELECT 2, col1,col2,... 
FROM old_table2
醉南桥 2024-11-26 08:15:11

因此,app1 中的 id 可能存在于 app2 中
但信息不同。

您可能想要研究的一个选项是使用视图以任何应用程序可接受的格式合并两个表的数据。

So, ids from app1 might exist in app2
but with different information.

One option you may want to look into is using a view to consolidate the data of both tables in a format acceptable for whatever application.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文