android - 如何离线和在线同步android sqlite数据库和mysql数据库之间的数据?
问题描述
我想从多个用户离线/在线同步 android SQLite 数据库和 MySQL 数据库之间的数据???
我有两张桌子
- 用户详情
- 对于他们的查询
我尝试先将数据保存到 SQLite,然后将其发送到服务器,但存在数据冲突。如何管理与 SQLite 数据库匹配的特定表的唯一 ID?认为,
- 我插入了来自用户 A 的查询。它保存在 SQLite DB 中,并在联机后发送到服务器。所以主键 id 是 1 并且对于 MySQL 和 SQLite 是相同的。
- 现在用户 B 也提交了他的查询。它也保存在 SQLite DB 中并发送到服务器。所以这里的主键 id 也是 1。现在它会给出错误,因为它与主键相反,因为它与已经存储在服务器中的 id 相同。
那么,现在我该如何避免数据冲突。请记住,我正在为离线和在线创建一个应用程序。当互联网不可用时,它会被保存到 SQLite 中,在线后它会被保存到 MySQL 服务器。
任何建议或任何方式都将是可观的。
解决方案
在 Mysql 表中再创建一个具有自动增量的列并使其成为主键。
推荐阅读
- multithreading - gsutil 没有 -m 多线程/并行默认行为
- kubernetes - 在 Google Kubernetes Engine 上部署生产就绪的 GitLab 时出现 HTTPError 400
- ruby - 我想创建某种 API 来通过唯一键运行 ruby 程序
- java - 复杂 API 的 Java 尝试
- r - 如何将数据框中列的数据类型从字符更改为日期
- coldfusion - 将我的图像的文件名上传到我的数据库表
- oracle - oracle钱包中的ewallet.p12.lck和cwallet.sso.lck文件有什么意义?
- perl - Perl Archive::Zip 意外行为
- arrays - 将 json 数组缩减为 json 对象
- c - 使用 openssl 将代码转换为使用 mbedtls