如何在每次按钮单击时对所有行进行更新

时间:2015-03-31 04:03:08

标签: mysql insert

我有一个有管理信息中心的python应用程序。

我有一个名为“更新数据库”的按钮。 (该应用程序使用MySQL和SQLAlchemy)

点击后,它会进行API调用并获取数据列表并将其写入数据库,如果API调用返回了新记录,则会添加它们,并且不会复制当前存在的记录。

但是,如果API调用返回的项目较少,则不会删除它们。

由于我甚至没有“开始谷歌”这一点,我需要一些指导我的应用程序应该制作什么类型的SQL查询。

如果单击一次按钮,则需要遍历所有行:

  • 对存在的更新记录进行更改
  • 如果API调用返回
  • ,则添加新的
  • 删除API调用未返回的内容。

这个操作是什么调用的,或者我如何在mysql中完成此操作?

一旦我发现了这一点,我就会看到我如何在SQLAlchemy中做到这一点。

1 个答案:

答案 0 :(得分:0)

您可能希望将时间戳列设置为表上最新操作的时间,并让后台线程删除旧行作为另一个操作。我不知道可能执行所需数据重组的任何原子动作。另一个选项可能是令人满意的是将替换批处理写入临时表,重命名两个版本(交换)并删除旧表。 HTH