[resolu] delete mysql au dessus d'une limite

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


chava2b
WRInaute impliqué
WRInaute impliqué
 
Messages: 252
Inscription: Ven Déc 05, 2003 16:44

[resolu] delete mysql au dessus d'une limite

Message le Ven Juil 06, 2007 8:41

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: Tout sélectionner
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
Dernière édition par chava2b le Ven Juil 06, 2007 10:29, édité 1 fois.


kanon90
WRInaute passionné
WRInaute passionné
 
Messages: 673
Inscription: Ven Mar 23, 2007 13:36

Message le Ven Juil 06, 2007 8:47

DELETE FROM `s_tmp` WHERE id > 200;


chava2b
WRInaute impliqué
WRInaute impliqué
 
Messages: 252
Inscription: Ven Déc 05, 2003 16:44

Message le Ven Juil 06, 2007 8:53

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

skippyzrnr
WRInaute passionné
WRInaute passionné
 
Messages: 660
Inscription: Mar Jan 11, 2005 10:08

Message le Ven Juil 06, 2007 9:11

Il me semble que DELETE FROM laTable LIMIT 200, 1000 fonctionne... à tester néanmoins :wink:


chava2b
WRInaute impliqué
WRInaute impliqué
 
Messages: 252
Inscription: Ven Déc 05, 2003 16:44

Message le Ven Juil 06, 2007 9:18

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

skippyzrnr
WRInaute passionné
WRInaute passionné
 
Messages: 660
Inscription: Mar Jan 11, 2005 10:08

Message le Ven Juil 06, 2007 9:20

oui mais l'exemple que je te donnais ( si ca fonctionne ) c'est pour supprimer 1000 enregistrement à partir du 200ème


chava2b
WRInaute impliqué
WRInaute impliqué
 
Messages: 252
Inscription: Ven Déc 05, 2003 16:44

Message le Ven Juil 06, 2007 9:27

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.


e-kiwi
Modérateur
Modérateur
 
Messages: 13875
Inscription: Mar Déc 23, 2003 9:04

Message le Ven Juil 06, 2007 9:50

quel est le mal à faire 2 requetes ? c est la solution de rapidité ;)


chava2b
WRInaute impliqué
WRInaute impliqué
 
Messages: 252
Inscription: Ven Déc 05, 2003 16:44

Message le Ven Juil 06, 2007 9:58

e-kiwi c'est ce que je fais mais je pensais pouvoir faire mieux.

Merci


e-kiwi
Modérateur
Modérateur
 
Messages: 13875
Inscription: Mar Déc 23, 2003 9:04

Message le Ven Juil 06, 2007 10:17

tu peux ptetre faire mieux, je ne suis pas un pro du SQL


dorian53
WRInaute accro
WRInaute accro
 
Messages: 1902
Inscription: Dim Avr 10, 2005 16:56

Message le Ven Juil 06, 2007 10:26



e-kiwi
Modérateur
Modérateur
 
Messages: 13875
Inscription: Mar Déc 23, 2003 9:04

Message le Ven Juil 06, 2007 10:47

comme ça il efface les 200 permiers ^^


dorian53
WRInaute accro
WRInaute accro
 
Messages: 1902
Inscription: Dim Avr 10, 2005 16:56

Message le Ven Juil 06, 2007 10:51

J'ai vraiment besoin de vacances : )


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité