我想自动删除超过7天的记录,但它不起作用。消息显示旧数据已删除,但实际上并未删除数据。
我的代码是:
try:
db= MySQLdb.connect("localhost","root","","testDB")
cursor=db.cursor()
sql="DELETE FROM CALLRECORD WHERE DATE< DATE_SUB(NOW(), INTERVAL 7 DAY)"
try:
cursor.execute(sql)
db.commit()
print "Deleted Older Data from database"
except:
db.rollback()
print "Cann't delete older data"
db.close()
except:
print "localserver not connected"发布于 2016-02-02 19:22:37
我认为你在查询中犯了一个错误,你正在删除过去7天内插入的记录。使用以下查询,而不是您的查询:
DELETE FROM CALLRECORD
WHERE DATE < DATE_SUB(NOW(), INTERVAL 7 DAY)发布于 2016-02-02 19:23:48
您正在使用>而不是<,因此您将删除新记录而不是旧记录。您需要删除日期早于(而不是晚于)七天前的记录。
https://stackoverflow.com/questions/35151952
复制相似问题