0

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

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

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

编辑: 我只寻找一种方式同步

编辑 2 该表可能有外键。

这是约束

  • 我不能使用 shell 实用程序mk-table-sync
  • 我不能使用 gui 工具,因为它们不能像这里建议的那样自动化。
  • 这需要以编程方式或在数据库中完成。
  • 我正在python研究 Google App-engine。

目前我正在做类似的事情

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

我的问题是

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

1 回答 1

0

根据您对我的问题的评论,您可以简单地执行以下操作:

DELETE FROM OldTable;

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

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

于 2013-01-08T07:56:56.467 回答