合并来自不同服务器中两个数据库的两个表

问题描述 投票:0回答:1

我正在开发可在离线模式下工作的移动应用程序。

我有一个在线应用程序,该应用程序在服务器上的数据库中使用一个名为“ Books”的表,而我的移动应用程序具有一个带完全“ Tables”表的sqlite数据库。

[当应用程序获得Internet可用时,它会将数据从sqlite中的“ Books”表同步到SQL Server中的“ Books”表同步。

我正在使用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中的两个表都包含自动增量主键,如果使用“ Id”作为合并标准,它将得到肮脏的合并。

在这种情况下,我应该如何合并?

我正在开发一个移动应用程序,它将能够在脱机模式下工作。我有一个在线应用程序,它使用服务器上数据库中名为“ Books”的表,而我的移动应用程序具有...

sql-server merge synchronization merge-conflict-resolution offlineapps
1个回答
0
投票

使用复合主键解决了我的问题。

© www.soinside.com 2019 - 2024. All rights reserved.