Page 1 sur 1
Supprimer la ligne avec l'ID le plus petit
Posté : 29 août 2007, 11:39
par toinou
Bonjour à tous,
J'aimerais supprimer la ligne ayant l'ID le plus petit d'une table MySQL. À première vue ça parait facile, mais je bloque
Code : Tout sélectionner
DELETE FROM table WHERE ID = ( SELECT MIN( ID )
FROM table )
Ce code ne fonctionne pas, pourtant c'est celui qui me parait le plus logique...
L'erreur : #1111 - Invalid use of group function
Quelqu'un aurait-il la solution?
Merci d'avance.
Cordialement,
toinou
Posté : 29 août 2007, 12:34
par mere-teresa
As-tu vérifié la validité de ta requête SELECT toute seule ?
Posté : 29 août 2007, 12:41
par Invité
Oui elle fonctionne très bien
Je me suis trompé pour le message d'erreur, c'est:
#1093 - You can't specify target table 'archives_connexions' for update in FROM clause
Posté : 29 août 2007, 12:48
par Invité
C'est bon j'ai trouvé comment faire :
C'est tout simple, je sais

Merci à toi
@+[/code]
Posté : 29 août 2007, 14:10
par zeus
Sinon, dans le cas de la sous-requête, l'erreur vient du fait que la sous-requête est considérée comme un ensemble de résultat, même si elle ne retourne qu'une seule ligne.
Il aurait donc fallu écrire
Code : Tout sélectionner
DELETE FROM table
WHERE ID IN ( SELECT MIN( ID )
FROM table )
Posté : 29 août 2007, 14:10
par zeus
Modération :
Puisque ta question est résolue, j'ajoute le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération toi-même
en cliquant sur le bouton
qui s'affiche en haut à gauche de ce sujet
si tu as posté le 1er message en tant que membre (inscrit et identifié).
Alors... inscris-toi !!! 