mysql - 在数据库中查找新行

标签 mysql database synchronization

我正在寻找一种方法来了解数据库(mysql)中的哪些行是新的(或更新的),以便从服务器获取这些行并将其本地存储在应用程序(客户端)中。

我最初的想法是为每一行添加一个时间戳,让我的应用程序记住它上次更新的时间,但是我担心服务器时钟向后改变(例如,从夏天到冬天时)或客户端在服务器上正在进行事务时更新 -> example

除了时间戳(非常明显且明显常见的想法)之外,对于此类事情是否有推荐的最佳实践?

最佳答案

其他想法:

  • 对于只能插入的数据,递增的 ID(例如由序列或类似概念生成)就足够了 - 您只需记住您复制的最后一个 ID
  • 这可以通过每个表中的一列进行扩展,每当插入或更新(由触发器设置)时,该列都会从序列中更新
  • 使用一个收集类似信息的中央日志表可能会更容易,而不是每个表都有一列(如果有复合键,则很难识别相关行)

除非你有充分的理由参与这样的计划,否则我会非常小心。这种类型的同步可能会遇到许多棘手的问题,这些问题可能比看起来更难解决。

关于mysql - 在数据库中查找新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1616197/

相关文章:

php - SQL 将行从一个表移动到另一个具有不匹配列的表

java - 为什么我会收到此 sql 错误?

database - 为共享计数器对数据库进行分区

synchronization - 如何同步 URLSession 任务的串行队列?

c# - 停止时同步 Timers.Timer elapsed 方法

node.js - Node.js 如何决定一条语句是否被异步处理?

php - 在表单上预输入字段并禁用某些用户 php 和 mysql 数据库的文本字段

php - 如何使用单选按钮更新 MySQL 中的数据?

mysql - 根据另一个表中的更改自动更新数据库行

database - 所需信息 : What are some of the best PL/SQL Blogs to follow?