Récupérer valeur de la variable qui incremente - SQL/NoSQL - Programmation
Marsh Posté le 06-07-2006 à 21:09:22
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)
Marsh Posté le 08-07-2006 à 12:24:10
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.
Marsh Posté le 08-07-2006 à 12:46:58
non, ça fonctionne très bien vu que c'est justement fait pour ça
EDIT : en tout cas sur mysql
Marsh Posté le 08-07-2006 à 13:41:13
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
Marsh Posté le 08-07-2006 à 14:08:55
non justement
Citation : |
c'est utilisé depuis des lustres, je n'ai jamais vu un problème avec ça (de visu ou sur le web)
Marsh Posté le 06-07-2006 à 17:25:49
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