我正在寻找一种方法来了解数据库(mysql)中的哪些行是新的(或更新的),以便从服务器获取这些行并将其本地存储在应用程序(客户端)中。
我最初的想法是为每一行添加一个时间戳,让我的应用程序记住它上次更新的时间,但是我担心服务器时钟向后改变(例如,从夏天到冬天时)或客户端在服务器上正在进行事务时更新 -> example
除了时间戳(非常明显且明显常见的想法)之外,对于此类事情是否有推荐的最佳实践?
最佳答案
其他想法:
- 对于只能插入的数据,递增的 ID(例如由序列或类似概念生成)就足够了 - 您只需记住您复制的最后一个 ID
- 这可以通过每个表中的一列进行扩展,每当插入或更新(由触发器设置)时,该列都会从序列中更新
- 使用一个收集类似信息的中央日志表可能会更容易,而不是每个表都有一列(如果有复合键,则很难识别相关行)
除非你有充分的理由参与这样的计划,否则我会非常小心。这种类型的同步可能会遇到许多棘手的问题,这些问题可能比看起来更难解决。
关于mysql - 在数据库中查找新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1616197/