【发布时间】:2020-09-20 00:57:40
【问题描述】:
我有一个 python 脚本,它可以抓取网站并将值插入 MySQL 数据库。该脚本在睡眠延迟循环中不断抓取不断更新的网站。现在有 5 列值(例如,狗、猫、鼠标、蜥蜴、蛇)是从网站上抓取的,第 6 列是通过 python 脚本将行插入数据库时添加的时间戳。我不想插入重复的行,但如果有重复,我想保留原始时间戳以及更新的时间戳。数据库用户的一个重要指标是第一次找到该行的时间以及它是否在被抓取的网站上仍然可用。
例如:假设在下午 2:30 插入脚本(beagle、calico、white mouse、gecko、python)。当循环在半小时内再次运行时,它会找到同一行,但新的时间戳为下午 3:00。不插入重复记录但说明第一次找到该行与最后一次找到该行之间的 30 分钟时间差的最佳方法是什么?我在 Python 方面相当不错,但对 MySQL 的经验很少,所以也许我需要一点帮助。你认为我应该通过 SQL 查询将这个功能放在脚本端还是数据库端?如果是这样怎么做?
谢谢!
【问题讨论】:
-
使列唯一,然后在 ERROR UPDATE 上使用 INSERT 添加最新时间
-
如果您的第一个时间戳字段
date_insert,您可以添加另一个字段date_update
标签: python mysql date sql-update sql-insert