DELETE et conserver un nombre fixe de lignes [Mysql] - SQL/NoSQL - Programmation
Marsh Posté le 29-04-2011 à 11:52:42
Bonjour
Quelle est ta version de MySQL ? Il me semble qu'a partir de la version 4.1 ta requête devrait fonctionner.
Marsh Posté le 29-04-2011 à 13:15:46
Bonjour Actualinet,
La version que j'utilise est plutôt récente, il s'agit de la 5.5.8.
Marsh Posté le 29-04-2011 à 13:44:49
Bizarre
sur ce site : http://mysql.bigresource.com/Track/mysql-boUmSoYU/
il y a cette requête qui ressemble à la tienne, à part le order by:
Code :
|
C'est un vieux post de 2005, je ne sait pas trop ce que ça vaut...
Marsh Posté le 29-04-2011 à 14:58:42
En fait, même si j'arrive à faire passer mon LIMIT d'une façon ou d'une autre, la requête ne sera pas correcte parce que MySQL interdit proprement l'appel d'une même table dans une sous requête lors d'un update.
Pour contourner le problème avec UPDATE il suffit de passer par des alias mais par contre avec DELETE c'est une autre histoire... donc me voilà retombé sur un autre os
Sauf qu'avec un petit peu de bricole j'y suis finalement arrivé ! avec l'utilisation du LIMIT aussi
Code :
|
Traitement pas trop lent avec ça : 3331 ligne(s) supprimée(s). ( Traitement en 0.5180 sec. )
Merci pour ton aide et attention
Marsh Posté le 29-04-2011 à 11:11:22
Bonjour,
Je cherche à réaliser une requête sous mysql qui conserverait un nombre fixe de lignes lors d'un Delete - concrètement "Ne garder que les 20 premières lignes et supprimer le reste".
J'ai essayé ceci :
Mais mysql il gère pas (encore) les Limits dans les sous-requêtes
This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
Auriez-vous une solution compatible pour mysql ?
D'avance, merci
---------------
À défaut des dragons il me reste les moulins