我的同步逻辑有问题。
客户端数据库表列:
- LastSync (日期时间-跟踪上一次同步的时间)
- LastUpdated (日期时间-跟踪数据的最后更新时间,无论是更新数据的客户端还是服务器)
服务器数据库表列:
- ServerUpdate (日期时间-跟踪服务器上次更新数据的时间)
- ClientUpdate (日期时间-跟踪客户端/用户何时更新数据)
我的问题:
为了使客户端/用户的数据保持更新,我从ServerUpdate大于ClientUpdate的服务器中获取数据(示例SQL:“ 从tblContacts中选择ID,其中tblContacts ServerUpdate> ClientUpdate ” ),然后更新客户端(这意味着我更新了数据以及 LastSync 和 LastUpdated )。
问题是,当我同步客户端的数据时,即使数据已更新,它也总是获取ServerUpdate大于ClientUpdate的数据。
例如,客户端同步我用户的新密码(服务器更改了密码),这意味着ServerUpdate大于ClientUpdate。同步数据时,它将在客户端更新。但是,当再次同步时,即使数据已经更新,服务器仍在传递相同的数据。
即使ServerUpdate大于ClientUpdate,我该怎么做以仅获取尚未更新的数据?