簡體   English   中英

合並來自不同服務器中兩個數據庫的兩個表

[英]Merge two tables from two databases in different servers

我正在開發一個能夠在離線模式下工作的移動應用程序。

我有一個在線應用程序,它在位於服務器上的數據庫中使用一個名為“Books”的表,而我的移動應用程序有一個 sqlite 數據庫,該數據庫恰好是“Books”表。

當應用程序可以上網時,它會將數據從“書籍”表 - 位於 sqlite - 同步到“書籍”表 - 位於 SQL 服務器中。

我正在使用MERGE (Transact-SQL)語句來執行它。 但我有一個問題。

想象一下,我的移動應用程序 7 天沒有互聯網連接,表格是:

Books(SQL Server)
+----+---------------------------------+--------------+
| Id | Name                            | LastModified |
+----+---------------------------------+--------------+
| 1  | Modern Operating Systems        | 2019-09-20   |
+----+---------------------------------+--------------+
| 2  | The Art of Computer Programming | 2019-09-20   |
+----+---------------------------------+--------------+
Books(sqlite in mobile App)
+----+---------------------------------+--------------+
| Id | Name                            | LastModified |
+----+---------------------------------+--------------+
| 1  | Modern Operating Systems        | 2019-09-20   |
+----+---------------------------------+--------------+
| 2  | The Art of Computer Programming | 2019-09-20   |
+----+---------------------------------+--------------+
| 9  | Computer Networks               | 2019-09-26   |
+----+---------------------------------+--------------+

考慮到 sqlite 和 SQL Server 中的兩個表都包含 Auto Increment Primary Key,如果使用“Id”作為合並標准,則會得到臟合並。

在這種情況下我應該如何進行合並?

使用復合主鍵解決了我的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM