Besoin d'aide sur les ID - SQL/NoSQL - Programmation
Marsh Posté le 06-02-2008 à 16:24:59
La 1 est ce qu'il y a de mieux et de plus sure.
D'ailleurs si tu lis la doc ( lien vers l'insert pour mysql si tu utilises un autre sgbd cherche), tu verras que le insert id est retournée par connexion, aucun risque de "choper" le numéro d'une autre demande.
Marsh Posté le 06-02-2008 à 16:32:04
ah merci beaucoup vraiment je pense que ça va vraiment me servir
Marsh Posté le 06-02-2008 à 16:32:48
Suivant le sgbd tu as la possibilité de récupérer directement ton id à l'insertion, aussi...cf la clause "returning" dispo sous oracle...
Marsh Posté le 06-02-2008 à 16:17:45
Bonjour,
Voila, je suis confronté a une problème, j'aimerai, à la suite d'un enregistrement, pour récupérer l'ID (unique biensur) d'enregistrement d'une insertion de données, pour pouvoir l'utiliser.
Je vous détail :
J'ai un formulaire, que je traitre via un script PHP, qui contrôle et envoies les données (par exemples les coordonées d'une personnes), et ensuite je souhaite rediriger l'utilisateur vers un nouveau formulaire qui dépend du premier, j'ai donc besoin de l'ID du précédent formulaire pour pouvoir enregistrer mes données.
J'ai réflichis à plusieurs hypothèses qui me permettrai de pallier a ce problème, mai j'ai peur qu'il est des problème en cas d'insertion quasi simultané de données :
1ere méthode :
- LAST_INSERT_ID(), je recupère donc le dernièr enregistement inséré, mais si une fiche a été créer juste apres ben paf je risque de créer des problème.
2ème méthode :
- Créer une référence (en plus de l'id autoincérment),
- Je créer une table compteur_reference où je met la valeur de la reference en cours,
- juste avant la requete d'insertion de données, je sélection la référence en cours que j'incrémente de un,
- je fait l'enregistrement,
- et juste après je met a jour le compteur.
J'ai trouvé que ces 2 solutions... mais je ne sais pas si c'est vraiment la bonne méthode
Pourriez vous m'aider SVP.
merci à tous
Message édité par lilougirl8 le 06-02-2008 à 16:18:19