我有一个名为扫描的表。该表有3列。 id, barcode text, and scanned DATETIME DEFAULT CURRENT_TIMESTAMP
。我想要一个查询来删除30天之前的行。最初,我使用了这样的查询。
"date(scanned) < date('now', '-30 day')";
但这不起作用,那些30天以上的行未被删除。 然后我尝试了这个新查询
"datetime(scanned / 1000, 'unixepoch') < datetime('now', '-1 month')";
并删除了所有行,包括30天以下的行。 任何人都可以告诉我如何更改我的工作,让sqlite数据库只删除30天以上的行?
答案 0 :(得分:3)
运行此
DELETE FROM scans WHERE scanned < DATETIME('now', '-30 day')