[resolu] delete mysql au dessus d'une limite

WRInaute occasionnel
Salut

Je cherche à supprimer des enregistrements s'il y en a plus d'un nombre.
cad, s'il y a plus de 200 enregistrements, je veux supprimer tous ceux qui sont au dessus de ces 200.

je pensais faire ca :

Code:
DELETE FROM `s_tmp` WHERE id NOT IN ( SELECT id FROM s_tmp LIMIT 200 )

mais mysql n'aime pas le limit dans le subquery...

Y aurait une autre methode simple ?

merci
 
WRInaute occasionnel
ma-deesse, l'id etant un auto-increment, ce chiffre ne par pas forcement de 0... mais bon autant je peux essayer de rajouter un compteur dans ma table
 
WRInaute occasionnel
le limit marche sur un delete, mais ca m'oblige à faire 2 requetes :
- la premiere pour savoir le nombre d'enregistrement total
- le delete

je ne veux pas supprimer 200 enregistrements, mais seulement ceux au dessus des 200 premiers - si y a 210 enregistreemnts, je ne veux en supprimer que 10
 
WRInaute impliqué
oui mais l'exemple que je te donnais ( si ca fonctionne ) c'est pour supprimer 1000 enregistrement à partir du 200ème
 
WRInaute occasionnel
skippyzrnr, ca m'etonne que ca ne marche pas car ca aurait été tellement simple... mais ca ne marche pas car le limit du delete ne supporte qu'un chiffre.
 
Discussions similaires
Haut