2010-12-15 12 views
36

Mam tę kwerendę, ale chcę zmienić datę, aby usunąć wszystko, co pochodzi z więcej niż 1 godzinę temu na podstawie czasu serwera (lub jeśli nie jest to możliwe przez czas serwera datą post). Jak mogę to zrobić?Zapytanie sql do wybrania od 1 godziny temu?

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

Odpowiedz

62

Zastosowanie:

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

referencyjny:

+0

No może nie tyle obojętne, że to lepsze zapytania. Dzięki – Mark

25

Albo jeszcze prościej:

SELECT NOW() - INTERVAL 1 HOUR; 

Więc zapytania staje:

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

W niektórych RDBS czas powinien być w pojedynczym cudzysłowie, np .: '' 1 Hour''' – Pedram

Powiązane problemy