[sql] supprimer lignes en fonction de la date

Fermé
DaRenzo - 22 janv. 2011 à 21:56
 A.Nonymous - 24 janv. 2011 à 00:37
Bonjour,

Après une journée de recherches infructueuses, y aurait-t-il un cerveau capable de m'indiquer le chemin à suivre pour solutionner ce problème?

J'ai une base de données qui contient plusieurs colonnes dont une "date".
Pour éviter une surcharge de ma base de données, je souhaite pouvoir éliminer les lignes qui possèdent une date antérieure à par exemple 1 mois.

Ma logique voudrait qu'en combinant GETDATE() avec un GETDATE()-30 par exemple, ça pourrait fonctionner mais en vain...

y a-t-il quelqu'un pour m''éclairer??

Merci d'avance

A voir également:

2 réponses

Pourquoi ne pas simplement faire :
DELETE * FROM historique WHERE date_hist < CURDATE() - INTERVAL 10 DAY
?
1
Bon... j'avance lentement...
j'en suis ici...
$sql = "DELETE * FROM historique WHERE date_hist IN (SELECT * FROM historique WHERE date_hist <= CURRENT_DATE - INTERVAL 10 DAY)";

mais cela ne fonctionne pas...
le requête SELECT fonctionne pourtant...
Quelqu'un pour me dire où se trouve l'erreur? j'ai également essayé EXISTS mais pas de résultats...

merci d'avance.
0