2017-07-19 74 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') 
相關問題