2017-07-19 70 views
-2

我有一个名为scans的表。该表有3列。 id, barcode text, and scanned DATETIME DEFAULT CURRENT_TIMESTAMP。我想要查询删除30天以前的行。最初,我使用了这样的查询。如何从sqlite数据库中删除比特定时间段早的行

"date(scanned) < date('now', '-30 day')"; 

但是这不起作用,那些30天以前的行没有被删除。 然后我尝试这种新的查询

"datetime(scanned/1000, 'unixepoch') < datetime('now', '-1 month')"; 

,并删除了所有行包括未满30天的行。 任何人都可以告诉我如何改变我的工作,让sqlite数据库只删除30天的行?

+0

请提供一些示例数据。 (请参阅[如何 格式化堆栈溢出中的SQL表格 ?](https://meta.stackexchange.com/q/96125)以了解如何添加一些内容。) –

回答

3

运行此

DELETE FROM scans WHERE scanned < DATETIME('now', '-30 day') 
相关问题