这个问题以前有人问过,也有人回答过,但我以前的回答有语法错误。也许我错过了什么?
query = "DELETE FROM currentvoltage WHERE timestamp < UNIX_TIMESTAMP(DATE_SUB(NOW() - INTERVAL 1 DAY))"
cursor.execute(query)
currentvoltage
是表
timestamp
是yyyy-mm-dd hh:mm:ss:ffff
中带有时间戳的行
获取
42601语法错误"处于或接近";";1〃;1天
编辑:
在每个人的帮助下,使用了以下内容。
query = "DELETE FROM {} WHERE timestamp < NOW() - INTERVAL '{} DAY'".format(tableName, truncate)
cursor.execute(query)
注意:我从全局变量中提取表名和间隔
将1 day
放入报价('
)
INTERVAL '1 DAY'
所以最后
query = "DELETE FROM currentvoltage WHERE timestamp < UNIX_TIMESTAMP(DATE_SUB(NOW() - INTERVAL '1 DAY'))"
注意,不存在函数UNIX_TIMESTAMP
&PgSQL 中的DATE_SUB