2010-12-15 87 views
36

我有這個查詢,但我想更改日期以基於服務器時間(或如果不可能由服務器時間通過發佈日期)從1小時以前刪除所有內容。我怎麼做?Sql查詢從1小時前選擇?

DELETE FROM wp_posts 
WHERE post_date < '2008-06-06 19:18:00' 
    AND post_status = 'publish' 

回答

62

用途:

DELETE FROM wp_posts 
WHERE post_date < DATE_SUB(NOW(), INTERVAL 1 HOUR) 
    AND post_status = 'publish' 

參考:

+0

哦,也許沒有那麼多虛,這是一個更好的查詢。謝謝 – Mark 2010-12-15 15:13:42

25

或者更簡單:

SELECT NOW() - INTERVAL 1 HOUR; 

所以查詢變爲:

DELETE FROM wp_posts 
WHERE post_date < NOW() - INTERVAL 1 HOUR 
    AND post_status = 'publish' 
+2

在一些RDBSs中,時間應該是單引號,如:''1 Hour'' – Pedram 2016-11-02 00:22:30