我使用原子饲料从webservice到{{3}}获取有关疾病,国家和疫苗的信息 定期更新我的数据库表。 每当我调用webservice时,我都会比较上次更新的日期,如果有新信息,我会清空我的表并再次插入所有数据。
但是数据非常大,如果在此过程中发生任何错误,整个表都是空的(因为我在更新开始时截断了表)。
我正在考虑将数据首先插入到临时表中,并在成功完成后再将其清空并复制到真实表中。 但我想听听专家是否这是正确的解决方案以及是否存在其他更好的解决方案。 (我正在使用PHP和mysql)
提前谢谢
答案 0 :(得分:0)
如果我在你的情况下,我会在我的数据库上使用3个表。第一个表是保存当前数据,第二个表用于保存新数据,最后一个表用于旧数据。
以下是如何与他们一起玩:
当您的脚本从Web服务接收数据时,将其放在第二个表(新数据)上,同时将您的第一个表(当前数据)移动到第三个表(旧数据)
< / LI>进行一些比较,如果您发现它们之间有新的东西,请将其放入当前数据中。
如果出现问题,您仍然可以安全地替换存储在“旧数据”中的先前数据。
所以,你将来不会丢失任何数据......希望它有所帮助......