【问题标题】:How to sync data between android sqlite database and mysql database offline and online?如何离线和在线同步android sqlite数据库和mysql数据库之间的数据?
【发布时间】:2019-03-26 09:37:25
【问题描述】:

我想从多个用户离线/在线同步android SQLite数据库和MySQL数据库之间的数据???

我有两张桌子

  1. 用户详情
  2. 为他们的查询

我尝试先将数据保存到 SQLite,然后将其发送到服务器,但存在数据冲突。如何管理与 SQLite 数据库匹配的特定表的唯一 ID? 假设,

  1. 我已插入来自用户 A 的查询。它保存在 SQLite DB 中,并在联机后发送到服务器。所以主键 id 是 1,对于 MySQL 和 SQLite 是一样的。
  2. 现在用户 B 也提交了他的查询。它也保存在 SQLite DB 中并发送到服务器。所以这里的主键 id 也是 1。现在它会给出错误,因为它与主键相反,因为它与已经存储在服务器中的 id 相同。

那么,现在我该如何避免数据冲突。请记住,我正在为离线和在线创建一个应用程序。网络不可用时保存到SQLite,上线后保存到MySQL服务器。

任何建议或任何方式都是值得赞赏的。

【问题讨论】:

    标签: android mysql sqlite synchronization


    【解决方案1】:

    在 Mysql 表中再创建一个具有自动增量的列并使其成为主键。

    【讨论】:

      【解决方案2】:

      使用包含毫秒的时间戳和用户登录 ID 作为键,这样即使用户同时发布,它也始终是唯一的。例如,当时间和日期为 2019-10-19 08:59:12:345 且用户 ID 为 1 时,主 ID 为 201910190859123451,但是您需要将主 ID 设为大整数。

      【讨论】:

        猜你喜欢
        • 2017-01-06
        • 2020-01-27
        • 1970-01-01
        • 2023-03-24
        • 1970-01-01
        • 2011-12-05
        • 1970-01-01
        • 1970-01-01
        • 2023-03-03
        相关资源
        最近更新 更多