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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Récupérer valeur de la variable qui incremente

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Récupérer valeur de la variable qui incremente

n°1402175
rocs2
Posté le 06-07-2006 à 17:25:49  profilanswer
 

Bonjour à tous,  
 
J'aimerais savoir s'il est possible de récupérer, lorsque je fais un INSERT, la valeur de la variable ID, contenue dans ma table et qui en fait est incrémenté automatiquement à chaque insertion (c'est ma clé primaire).
 
Merci

mood
Publicité
Posté le 06-07-2006 à 17:25:49  profilanswer
 

n°1402317
pikti
I’ve done worse
Posté le 06-07-2006 à 21:09:22  profilanswer
 

En SQL Server, après l'insert tu peux récupérer l'increment avec @@identity :)
 
edit : je ne connais pas les équivalences sur d'autres sgbd sinon un select max(id)


Message édité par pikti le 06-07-2006 à 21:10:31
n°1402460
mrbebert
Posté le 07-07-2006 à 00:53:41  profilanswer
 

Avec MySQL, c'est LAST_INSERT_ID [:proy]

n°1402848
moi23372
Posté le 08-07-2006 à 12:24:10  profilanswer
 

je pense de tt façon que ce genre de truc ne marche quand même pas super avec les concurences d'accès.  
Le mieux c'est de locker la table avant l'insert, insérer le tuple, selectionner le dernière ID et faire un beau COMMIT. ça assure au moins la concurence d'accès dans les SGBD qui n'assure pas une bonne concurence d'accès.  

n°1402866
Sh@rdar
Ex-PhPéteur
Posté le 08-07-2006 à 12:46:58  profilanswer
 

non, ça fonctionne très bien vu que c'est justement fait pour ça ;)
 
EDIT : en tout cas sur mysql


Message édité par Sh@rdar le 08-07-2006 à 12:47:23

---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°1402898
moi23372
Posté le 08-07-2006 à 13:41:13  profilanswer
 

oui mais sachant que MySQL gère les accès concurents comme un pied, si deux insertions se font en même temps, il risque de se peter la gueule en renvoyant le mauvais. Et c'est surtout valable pour MySQL

n°1402915
Sh@rdar
Ex-PhPéteur
Posté le 08-07-2006 à 14:08:55  profilanswer
 

non justement
 

Citation :


 For LAST_INSERT_ID(), the most recently generated ID is maintained in the server on a per-connection basis. It is not changed by another client. It is not even changed if you update another AUTO_INCREMENT column with a non-magic value (that is, a value that is not NULL  and not 0).


 
c'est utilisé depuis des lustres, je n'ai jamais vu un problème avec ça (de visu ou sur le web)


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft

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

  Récupérer valeur de la variable qui incremente

 

Sujets relatifs
[Javascript/PHP] Récuperer le contenu d'un array et le passer par GETInsertion SQL, comparaison de variable avec fichier .txt
[résolu] Passage de variable javascript vers flash avec iframe[Select + onchange] Recupérer la valeur de l'index précédent
recuperer l'id de la page en JSrécuperer le nom d une page
recuperer un xml dans un blobRécupérer les valeurs d'un champ au nom variable
Plus de sujets relatifs à : Récupérer valeur de la variable qui incremente


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