我有一个有管理信息中心的python应用程序。
我有一个名为“更新数据库”的按钮。 (该应用程序使用MySQL和SQLAlchemy)
点击后,它会进行API调用并获取数据列表并将其写入数据库,如果API调用返回了新记录,则会添加它们,并且不会复制当前存在的记录。
但是,如果API调用返回的项目较少,则不会删除它们。
由于我甚至没有“开始谷歌”这一点,我需要一些指导我的应用程序应该制作什么类型的SQL查询。
如果单击一次按钮,则需要遍历所有行:
这个操作是什么调用的,或者我如何在mysql中完成此操作?
一旦我发现了这一点,我就会看到我如何在SQLAlchemy中做到这一点。
答案 0 :(得分:0)
您可能希望将时间戳列设置为表上最新操作的时间,并让后台线程删除旧行作为另一个操作。我不知道可能执行所需数据重组的任何原子动作。另一个选项可能是令人满意的是将替换批处理写入临时表,重命名两个版本(交换)并删除旧表。 HTH