[mySql]SELECT le dérnier enregistrement inséré! je cherche la synthaxe

SELECT le dérnier enregistrement inséré! je cherche la synthaxe [mySql] - SQL/NoSQL - Programmation

Marsh Posté le 14-04-2003 à 22:22:01    

C'est un champ varchar.
Je veux selectionner le dérnier enregistrement inséré.
Aidez moi SVP.
Merci  :hello:  
Mysql.

Reply

Marsh Posté le 14-04-2003 à 22:22:01   

Reply

Marsh Posté le 14-04-2003 à 23:24:40    

CelineMacho a écrit :

C'est un champ varchar.
Je veux selectionner le dérnier enregistrement inséré.
Aidez moi SVP.
Merci  :hello:  
Mysql.


c'est à toi de te démerder, soit tu mets la date d'insertion dans la ligne, ou un numéro de séquence et tu demandes explicitement a avoir le plus grand (plus vieux si c'est une date) sinon, tu ne peux pas le faire.
Même si dans un curseur tu reçois les champs dans un certain ordre, il y a peu de chances que se soit celui de la chronologie  des l'insertions, l'utilisation des indices et les cleanups divers de la base (genre éliminations des lignes, compactage etc.) on toutes les chances de virer l'ordre d'insertion.

Reply

Marsh Posté le 14-04-2003 à 23:58:53    

J'avais déjà eu ce problème. Heuresement, il exsite une fonction qui vite bien des bidouilles malpropres !!!
 

Code :
  1. mysql_insert_id --  Retourne l'identifiant généré par la dernière requête INSERT.
  2. Description
  3. int mysql_insert_id ( [resource link_identifier])
  4. mysql_insert_id() retourne le dernier identifiant généré par un champs de type AUTO_INCREMENT, sur la connexion MySQL courante, ou bien sûr la connexion spécifiée par link_identifier. mysql_insert_id() ne prend aucun argument. Elle retourne le dernier identifiant généré par la dernière fonction INSERT effectuée.

Reply

Marsh Posté le 15-04-2003 à 00:10:01    

merci à tous.
 :hello:

Reply

Marsh Posté le 15-04-2003 à 00:11:47    

CelineMacho a écrit :

merci à tous.
 :hello:  


 
De rien, j'ai relu la question et j'espère que c'est ça que tu voulais. Mais perso je préfère utiliser des clés auto_increment
 
bref.... bonne nuit

Reply

Marsh Posté le 15-04-2003 à 00:14:06    

JagStang a écrit :

J'avais déjà eu ce problème. Heuresement, il exsite une fonction qui vite bien des bidouilles malpropres !!!
 

Code :
  1. champs de type AUTO_INCREMENT, sur la connexion MySQL courante, ou bien sûr la connexion spécifiée par link_identifier.




http://www.fwaggle.nildram.co.uk/smile4u_137.gif
T'as vu la gueule de  ta solution ?¿? elle marche que sur des auto-incréments (qui sont déjà un truc limite), et que s'il n'y a qu'un seul lien vers la base.
Ne parle pas de bidouilles malpropres.
 
Au fait, en l'absence de transactions, sa veut dire quoi le dernier dans un monde concurrent ?¿?


Message édité par nraynaud le 15-04-2003 à 00:15:09
Reply

Marsh Posté le 15-04-2003 à 00:27:00    

un  :(

Reply

Marsh Posté le 15-04-2003 à 00:29:59    

pfff... les auto_increment un truc limite... je vois pas en quoi mais bon...

 

Si tu veux de l'aide concernant la fonction j'ai pas besoin de te l'expliquer tu te débrouillera bien tout seul.

 

Au fait. tu as une meilleure solution ???

   


Message édité par jagstang le 11-01-2008 à 22:37:43
Reply

Marsh Posté le 15-04-2003 à 14:58:52    

JagStang a écrit :

pfff... les auto_increment un truc limite... je vois pas en quoi mais bon...


Parce qu'il existe des normes, elles sont pas faites pour les chiens ni pour les pingouins.
 
Maintenant, ta fonction elle pue car si tu te mange un insert sur une autre connexion tu va pas le voir et comme t'es pas isolé dans ta transaction, quand tu vas utiliser le numéro que t'as tiré, ça a des chances de foirer (jamais pendant les tests, toujours en prod ou devant le prof).

Reply

Marsh Posté le 15-04-2003 à 15:51:34    

Evidemment il faut savoir l'utiliser. mdr

Reply

Marsh Posté le 15-04-2003 à 15:51:34   

Reply

Marsh Posté le 15-04-2003 à 20:09:52    

nraynaud a écrit :


Parce qu'il existe des normes, elles sont pas faites pour les chiens ni pour les pingouins.
 
Maintenant, ta fonction elle pue car si tu te mange un insert sur une autre connexion tu va pas le voir et comme t'es pas isolé dans ta transaction, quand tu vas utiliser le numéro que t'as tiré, ça a des chances de foirer (jamais pendant les tests, toujours en prod ou devant le prof).  

C'est le dernier id de ta connexion.
Même si un autre utilisateur fait des insertions, ca n'a aucune influence.
 
Lis la doc au lieu de critiquer :sarcastic:


Message édité par mrbebert le 15-04-2003 à 20:10:49
Reply

Marsh Posté le 10-10-2003 à 00:25:35    

mrBebert a écrit :

C'est le dernier id de ta connexion.
Même si un autre utilisateur fait des insertions, ca n'a aucune influence.
 
Lis la doc au lieu de critiquer :sarcastic:  


 
1) j'utilise une connexion persistante
2) je veux pas utiliser d'index autoincrement
3) je veux modifier mon dernier enreistrement
 
c'est possible? si oui, comment? [:meganne]


---------------
yvele n'est plus.
Reply

Marsh Posté le 10-10-2003 à 01:09:15    

nraynaud a écrit :


Parce qu'il existe des normes, elles sont pas faites pour les chiens ni pour les pingouins.
 
Maintenant, ta fonction elle pue car si tu te mange un insert sur une autre connexion tu va pas le voir et comme t'es pas isolé dans ta transaction, quand tu vas utiliser le numéro que t'as tiré, ça a des chances de foirer (jamais pendant les tests, toujours en prod ou devant le prof).  


 
C'est sur, mais maintenant, il faut voir les circonstances de l'emploie de l'auto-incrément. Pour faire une page d'admin par exemple, je ne vois pas le problème. Après, c'est sur que dans le cadre d'un forum, c'est pas pareil.

Reply

Marsh Posté le 10-10-2003 à 09:19:54    

Mr yvele a écrit :


 
1) j'utilise une connexion persistante
2) je veux pas utiliser d'index autoincrement
 
3) je veux modifier mon dernier enreistrement
 
c'est possible? si oui, comment? [:meganne]

oui, en insérant la date d'insertion. Mais avec une séquence c'est mieux, c'est plus léger.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed