Supprimer le plus ancien

Fermé
Lafluzz - 10 sept. 2009 à 16:26
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 - 10 sept. 2009 à 19:00
Bonjour,
j'aimerais faire un :
DELETE FROM bla WHERE pseudo = "machin" AND date = LE_PLUS_PETIT (donc le plus ancien)


Comment est-ce possible ? Faut-il comparer tous les champs entre eux ?

merci beaucoup
A voir également:

17 réponses

sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
10 sept. 2009 à 16:34
DELETE FROM bla WHERE pseudo = "machin" AND date = min(date), non ?
0
Ah, merci bien !
0
En fait, après l'avoir testé, ça me met : Invalid use of group function
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
10 sept. 2009 à 16:57
ah pardon, il faut ajouter GROUP BY pseudo

J'suis pas frais, moi.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
j'ai rajouté GROUP BY pseudo, mais j'ai toujours une erreur :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'GROUP BY dest


j'ai également essayé diverses combinaisons avec having, mais même erreur.
0
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
10 sept. 2009 à 17:26
tu peu assayé ca sinon

select * from ta table where ([date ])= (SELECT Min([date])
FROM perso)

la c un select pour voir si cela fonctionne apres tu modifiera par delete
0
non, toujours la même erreur.
0
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
10 sept. 2009 à 17:32
tu peu copier ta requête stp
0
Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 1 384
10 sept. 2009 à 17:32
Bonjour Lafluzz , Sebsauvage et moiced59

Je pense que le code correct devrait être le suivant
DELETE FROM bla WHERE pseudo = "machin" AND date = (select min(date) from bla where pseudo = "machin")

A plus
0
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
10 sept. 2009 à 17:36
oui ca semble pas mal mais si ton champ date s appael date c peut etre ca qui va pas!!!!
0
ça me renvoi l'erreur :
You can't specify target table 'MATABLE' for update in FROM clause
0
moiced : date n'est pas le problème, j'ai déjà fait plein de requêtes dessus.

Merci à tous de vos réponses, cependant.
0
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
10 sept. 2009 à 17:37
c le message d erreur a quel requête?
0
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
10 sept. 2009 à 17:40
c le message d erreur a quel requête?
0
j'ai fais un mysql_error(); en PHP.

ça retourne :
You can't specify target table 'MATABLE' for update in FROM clause
0
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
10 sept. 2009 à 17:45
la requete que je t mise marche chez moi c bizarre!!
0
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
10 sept. 2009 à 19:00
bonjour

merci pour l info la fonction repaint ne marche pas mais grace a ton aide j 'ai teste me.requery et cela fonctionne

merci a toi
0