差异和同步2个表MySQL

时间:2013-01-08 07:31:28

标签: python mysql google-app-engine diff

我有2个表,一个包含新数据,另一个包含旧数据。

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

这两个表在列方面都是相同的,只有数据不同。

修改 我正在寻找只有一种方式同步

编辑2 该表可能有外键。

以下是约束

  • 我不能使用像mk-table-sync
  • 这样的shell实用程序
  • 我无法使用gui工具,因为它们无法自动化,例如建议的here
  • 这需要以编程方式或在数据库中完成。
  • 我在Google App引擎上python工作。

目前我正在做像

这样的事情
  • OUTER JOINWHERE [NOT] EXISTS比较SQL个查询中的每条记录并推送结果。

我的问题是

  • 有更好的方法吗?
  • 在python中而不是在db中执行此操作更好吗?

1 个答案:

答案 0 :(得分:0)

根据您对我的问题的评论,您可以这样做:

DELETE FROM OldTable;

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

正如我上面所指出的,可能有理由不这样做,例如数据大小。