Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
774 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Derniere entree d'un champ

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Derniere entree d'un champ

n°1485835
Tonio94
Posté le 04-12-2006 à 01:09:10  profilanswer
 

Bonjour,
 
 
Je n'arrive pas à recuperer la dernière entrée d'un champ dans ma base de données MySQL.
 
Voila les 2 requetes que j'ai essayé :
 
$sql = "DELETE FROM email WHERE mail_id=MAX(mail_id)";
$sql = "DELETE FROM email WHERE mail_id=(SELECT MAX(mail_id) FROM email)";
 
Il me faut en fait la dernière entrée de mail_id.
 
Car à ce mail_id correspond un mail_usr que je dois supprimer si l'utilisateur appel cette fonction.
 
 
Merci d'avance pour votre aide.
 
 
ps : voila l'erreur qui ressort : Erreur SQL !DELETE FROM email WHERE mail_id=(SELECT MAX(mail_id) FROM email)
You can't specify target table 'email' for update in FROM clause


---------------
~ Msi z790 Gaming Plus Wifi | i9-12900K + Dark Rock Pro4 | 64Go G-Skill DDR4 4800 | RTX 3080 Ti
mood
Publicité
Posté le 04-12-2006 à 01:09:10  profilanswer
 

n°1485843
olivthill
Posté le 04-12-2006 à 07:00:28  profilanswer
 

Peut-être que ça passerait en découpant la requête en deux :
D'abord la sélection du max. Puis la suppression.

n°1485876
rufo
Pas me confondre avec Lycos!
Posté le 04-12-2006 à 10:09:59  profilanswer
 

j'ai jamais testé, mais on peut utiliser order by et limit dans un delete? Si oui, tu peux faire un DELETE FROM email ORDER BY mail_id LIMIT 0, 1

n°1485913
MagicBuzz
Posté le 04-12-2006 à 10:51:56  profilanswer
 

euh... juste comme ça...
 
le gars fait je ne sais quelle manip. ok. maintenant, dans la table mail, la dernière ligne correspond à lui.
maintenant, il voit le bouton pour se désincrire ou je ne sais pas trop quoi.
y se tâte, y sait pas trop le gars. il va boire une clope et toussa, puis revient.
pendant ce temps, un autre gars fait la même action que lui.
sauf que lui, y veut pas se désincrire ce type là...
le problème, c'est que le max(id) correspond à lui maintenant, et pas à l'autre.
donc quand l'autre fait "supprimer", au lieu d'effacer sa ligne, il efface celle du second :spamafote:
 
c'est mal :o
 
donc travaille avec un ID connu, et je fais JAMAIS confiance à un critère de la sorte pour effacer une information précise.

n°1486024
Tonio94
Posté le 04-12-2006 à 13:09:12  profilanswer
 

Tu n'as pas tort MagicBuzz mais là en l'occurence, l'utilisateur se trouve devant une liste d'emails (qui lui est propre) et il peut grace à ce bouton supprimer la dernière entrée ajoutée.


Message édité par Tonio94 le 04-12-2006 à 13:12:31

---------------
~ Msi z790 Gaming Plus Wifi | i9-12900K + Dark Rock Pro4 | 64Go G-Skill DDR4 4800 | RTX 3080 Ti
n°1486025
Tonio94
Posté le 04-12-2006 à 13:11:12  profilanswer
 

Erreur SQL !DELETE FROM email ORDER BY mail_id LIMIT 0,1
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 '1' at line 1

 
Ca passe pas ca :(


---------------
~ Msi z790 Gaming Plus Wifi | i9-12900K + Dark Rock Pro4 | 64Go G-Skill DDR4 4800 | RTX 3080 Ti
n°1486083
rufo
Pas me confondre avec Lycos!
Posté le 04-12-2006 à 14:50:13  profilanswer
 

je m'en doudais un peu

n°1486308
Tonio94
Posté le 04-12-2006 à 19:01:56  profilanswer
 

:up:


---------------
~ Msi z790 Gaming Plus Wifi | i9-12900K + Dark Rock Pro4 | 64Go G-Skill DDR4 4800 | RTX 3080 Ti
n°1512493
bboy_minh
Posté le 09-02-2007 à 11:16:34  profilanswer
 

Hello,
 
Je viens de rencontrer le même problème que toi, à savoir accéder à un champ de la dernière ligne d'une table.
 
olivthill était sur la bonne voie, en effet il faut diviser le problème car les fonctions en SQL ici Max() ne peuvent etre utilisées dans les conditions :
 
$sql = "DELETE FROM email WHERE mail_id=MAX(mail_id)";
 
La solution est d'utiliser une requête imbriquée comme ceci :
 

$sql = "DELETE FROM email WHERE mail_id=   ( SELECT MAX(mail_id) FROM email );"

 
Voila, j'espère que ça t'aidera a avancer  ;)  Tiens nous au courant !


---------------
De l'affrontemant nait le respect

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Derniere entree d'un champ

 

Sujets relatifs
des seek et echange des donné dans un meme champ[JS] Afficher le contenu d'une variable dans un champ de texte/form
Formulaire | champ en surbrillance si erreur de saisieclause WHERE sans nommer le champ
Remplir le champ d'un formulaire par une variable[HTML]bordure champ texte
Quitter en appuyant sur la touche entrée[xml xslt] récupérer la valeur d'un champ externe à celui du contexte
Ouvrir etat pour une semaine donnee a partir d'une date entree formEliminer doublons d'une table avec condition sur un champ
Plus de sujets relatifs à : Derniere entree d'un champ


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR