2010-12-15 19 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

25

それとももっと簡単:

SELECT NOW() - INTERVAL 1 HOUR; 

だからクエリは次のようになります。

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

いくつかのRDBSでは、時刻は「1時間」のように一重引用符で囲む必要があります – Pedram

関連する問題