2010-12-15 34 views
36

J'ai cette requête, mais je veux changer la date pour supprimer tout ce qui est de plus de 1 heure en fonction de l'heure du serveur (ou si ce n'est pas possible par le serveur heure par date de publication). Comment je fais ça?Sql requête de sélection d'il ya 1 heure?

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

Répondre

62

Utilisation:

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

Référence:

+0

Oh peut-être pas tellement un mannequin, qui est une meilleure requête. Merci – Mark

25

Ou encore plus simple:

SELECT NOW() - INTERVAL 1 HOUR; 

Ainsi, la requête devient:

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

Dans certains RDBS, l'heure doit être en guillemets simples comme: «1 heure» – Pedram