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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  recuperer l'id auto_incremente du next enregistrement à insrerer

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

recuperer l'id auto_incremente du next enregistrement à insrerer

n°1492477
younes371
Posté le 17-12-2006 à 22:53:49  profilanswer
 

Bonjour
Je travail sur MySQL, et je veux recuperer le numero de id qui sera du next enregistrement à inserer.
Par exemple , j ai les numeros   1,2,3,4,5,6,7
j ai supprimé 6,7
il reste 1,2,3,4,5
mnt moi je veux avoir une fct Mysql qui me donne 8.
Merci

mood
Publicité
Posté le 17-12-2006 à 22:53:49  profilanswer
 

n°1492517
seniorpapo​u
Posté le 18-12-2006 à 07:38:41  profilanswer
 

Bonjour,
LAST_INSERT_ID()  
 
???
pas certain (2 jours de mysql)
Cordialement

n°1492557
MagicBuzz
Posté le 18-12-2006 à 10:24:25  profilanswer
 

c'est la bonne réponse, sauf que ça ne répond pas à la question.
 
en fait, le procédé est mauvais : mise à part avec l'utilisation de séquences (Oracle par exemple) il est impossible de connaître à l'avance le numéro d'ID qui sera généré, simplement parcequ'on ne peut garantir qu'entre le moment où on récupère ce numéro et le moment où on écrit effectivement dans la base, personne n'a déjà pris ce numéro.
 
ainsi, on doit toujours créer la ligne, et récupérer immédiatement après le numéro en question. jamais l'inverse.
 
ceci est faux avec Oracle, puisqu'Oracle utilise des séquences, qui permettent de "réserver" l'ID généré : deux appels successifs à NextVal() donnent deux résultats différents, permettant ainsi de s'assurer que personne ne prendra le numéro réservé.
c'est totalement spécifique au fonctionnement d'Oracle (on le retrouve sur PostGre aussi) qui ne supporte pas les champs "numeroauto".

n°1492623
seniorpapo​u
Posté le 18-12-2006 à 12:41:25  profilanswer
 

Bonjour,
Un grand merci pour les précisions. Il est vrai que, dans mon petit coin, j'ai toujours tendance à ne plus raisonner multiposte.
Cordialement

n°1492643
anapajari
s/travail/glanding on hfr/gs;
Posté le 18-12-2006 à 13:20:03  profilanswer
 

MagicBuzz a écrit :

... plein de trucs supers sur les sequences ...


c'est vrai aussi sur DB2  

n°1492729
MagicBuzz
Posté le 18-12-2006 à 15:11:11  profilanswer
 

anapajari a écrit :

c'est vrai aussi sur DB2


En fait, à la base, ça devrait être identique pour tous le monde : les séquences font partie de la norme SQL92, et tous les SGBD devraient les supporter.
 
Mais Microsoft à choisi le type "numeroauto", qui est bien plus simple à utiliser, car ne nécessite pas de faire de trigger ou une insertion en deux étapes.
On retrouve donc ce type dans mal pasl d'autres SGBD, dont MySQL (qui en plus, bouche les trous, ce que ne prévoit pas le numéroauto tel que prévu par Microsoft).
 
A la demande de Microsoft, ce nouveau type a été ajouté à la norme SQL avec la norme SQL99 ou autre.
 
Mais SQL92 restant la norme de référence, force est de constater que nombre de SGBD ne supportent toujours pas correctement cette norme.


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

  recuperer l'id auto_incremente du next enregistrement à insrerer

 

Sujets relatifs
Récupérer le code VBA d'un formulaire AccessVBS : récupérer informations routeurs
Récupérer <windows.h>recuperer aleatoirement des donnees d'un tableau [RESOLU]
Récupérer les namespaces avec PHP[PHP] Recuperer variables d'un formulaire généré par une requete
Select multiple.. recuperer les valeursRécupérer et redéfinir la position du curseur
mysql - recuperer l'espace non utilisé de la base[C# .Net] Recuperer un chaine contenu dans un SubItems d'une Listview
Plus de sujets relatifs à : recuperer l'id auto_incremente du next enregistrement à insrerer


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