我有2个具有相同架构的数据库服务器。 基本上,我有一个crontab作业(每分钟)在数据库1到数据库2的最后2分钟内获取所有新的或更新的记录。
数据库2是一个Mysql服务器。 (数据库1不是mysql服务器。)
为了确保我拥有所有数据,我使用" replace-into"言。
REPLACE INTO myTable (ID, Data, CreateTime, UpdateTime) VALUES ....
通常,它运作良好。
然而,与数据库1的连接太多。有时,由于连接问题,提取需要一分钟,这会在下一分钟内被提取。在时间T中取出的数据批次在时间T + 1中的批次之后被放入数据库2中。因此,旧数据的记录会覆盖较新的数据。
我希望这些发生:
上面的替换可以重写为INSERT...ON DUPLICATE UPDATE
,但我的主要问题是我需要一个where-condition来控制更新。
提前致谢。