区分同步2表MySQL

2024-04-19 03:49:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个表,一个是新数据,另一个是旧数据。在

我需要找到这两个表之间的diff,并只将更改推送到具有旧数据的表中,因为它将在生产中使用。在

两个表的列数相同,只是数据不同。在

编辑: 我只寻找单向同步

编辑2 表可能有外键。在

以下是限制条件

  • 我不能使用像mk-table-sync这样的shell实用程序
  • 我不能使用gui工具,因为它们不能自动化,就像建议的here。在
  • 这需要通过编程或在数据库中完成。在
  • 我在谷歌应用引擎上工作。在

目前我正在做的事情

  • OUTER JOINs和WHERE [NOT] EXISTS比较SQL查询中的每条记录并推送结果。在

我的问题是

  • 有更好的方法吗?在
  • 在python中而不是在db中这样做更好吗?在

Tags: 工具数据实用程序编辑tablediffguisync
1条回答
网友
1楼 · 发布于 2024-04-19 03:49:48

根据你对我问题的评论,你可以简单地做:

DELETE FROM OldTable;

INSERT INTO OldTable (field1, field2, ...) SELECT * FROM NewTable;

正如我在上面指出的,可能有不这样做的原因,例如,数据大小。在

相关问题 更多 >