我在移动数据库上有一个本地数据库。每隔几分钟,设备就会查看其表并通过 REST 接口将任何未标记为已上传的数据发送到服务器。这是一个示例表:
id | name | phone | uploaded
1 | "bob" | "444" | 0
通过 REST 接口发送的内容是:
name : "bob", phone : "444"
服务器将响应:
status : "OK"
移动设备收到此“OK”消息后,会将这些记录标记为uploaded=1
。这应该可以正常工作,以使设备与实际发生的情况保持一致。问题是服务器可能会从移动设备接收到其中两条消息(无论出于何种原因),并将两条具有完全相同数据的记录插入服务器数据库。
有什么方法可以阻止这种情况发生?
我想到了服务器数据库中所有字段的唯一性索引,但我觉得必须有更好的方法。