Supprimer le dernier enregistrement effectué

Résolu
cispo Messages postés 103 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 10 septembre 2007 - 28 févr. 2005 à 14:33
 Samou - 17 sept. 2019 à 14:27
Bonjour, je voudrais savoir si il existe des fonctionnalités toutes
faites pour supprimer le dernier enregistrement d'une table (celui dont
le numéro identifiant est le + élevé) ou si je dois passer par 2
requêtes.





Merci d'avance,
A voir également:

5 réponses

juvamine Messages postés 468 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 30 août 2007 2
Modifié le 17 sept. 2019 à 20:04
il faut passé par 2, mais tu peux les mettre dans une seul:

DELETE FROM Clients WHERE id=(SELECT Max(id) from Clients);


Et voila

++
juvamine
1
juvamine Messages postés 468 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 30 août 2007 2
12 août 2009 à 11:08
MySql autorise un truc surprenant : les order by limit dans les requete de màj

DELETE FROM TaTable ORDER BY ID DESC LIMIT 1


la syntaxe n'est peut etre pas exact exact mais elle y ressemble ;)
1
ghostleretour Messages postés 20 Date d'inscription dimanche 26 octobre 2003 Statut Membre Dernière intervention 12 août 2009
11 août 2009 à 17:47
Cette solution va générer ce type d'erreur :

"Can’t specify target table for update in FROM clause"

Car on ne peut pas effectuer une lecture et une modification dans une requete imbriquée sur la même table
0
juvamine Messages postés 468 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 30 août 2007 2
12 août 2009 à 08:17
C'est la meilleur...
si je fais
DELETE
FROM Table1
WHERE champ4 = (select max(champ4) from Table1);

Dans Access => ça marche
Dans Oracle => ça marche
Dans Interbase => ça marche

je n'ai pas d'autres sgbd sous la main pour tester
mais le moteur sql va effecter le select avant de faire le delete...aucune erreur possible sur ce type de requete. Sauf les spécificités de certains sgbd, ou certaines contraintes d'intégrités qui peuvent gêner.
0
cool
0

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

Posez votre question
ghostleretour Messages postés 20 Date d'inscription dimanche 26 octobre 2003 Statut Membre Dernière intervention 12 août 2009
12 août 2009 à 10:25
Ah ben voila, sur les autre peut etre, moi je n'ai eu l'occasion de le tester que sur MySQL et ca ne fonctionne malheureusement pas.

Je suis passé par deux requetes séparées, mais je trouvais ca dommage qu'une requete si simple ne fonctionne pas.
0
Rejoignez-nous