30-11-2008, 01:44 PM
(Modification du message : 05-12-2008, 04:34 PM par Sephi-Chan.)
Bonjour à tous
Je me pose une question pas capitale, mais qui pourrait me permettre d'économiser des ressources serveur, et de diminuer le temps d'exécution de la page.
Je prends un exemple simple :
-Quelqu'un s'inscrit sur mon site
-J'ajoute pseudo, passe, mail dans ma BDD, et l'id est auto-incrémenté
-Et là, je veux récupérer l'id de l'entrée que je viens d'ajouter
Je vois deux solutions :
-Je fais une requête en sélectionnant la dernière entrée en date, et je récupère l'ID. Inconvénients : double requète (inscription, et lecture de l'ID), et si, par un grand hasard, quelqu'un d'autre s'inscrit juste après l'inscription, mais avant la lecture de l'ID, l'ID récupéré sera faux!
-Ou alors, je n'auto-incrémente pas mon ID, et je l'ajoute "à la main". Inconvénients : pour ajouter un ID libre, il faut quand même lire le dernier ID : double requète.
Donc, j'aimerais un INSERT INTO qui puisse en même temps récupérer l'ID de l'entrée.
Je ne sais pas si c'est possible, sinon conseillez moi d'autres solutions.
Merci!
Je me pose une question pas capitale, mais qui pourrait me permettre d'économiser des ressources serveur, et de diminuer le temps d'exécution de la page.
Je prends un exemple simple :
-Quelqu'un s'inscrit sur mon site
-J'ajoute pseudo, passe, mail dans ma BDD, et l'id est auto-incrémenté
-Et là, je veux récupérer l'id de l'entrée que je viens d'ajouter
Je vois deux solutions :
-Je fais une requête en sélectionnant la dernière entrée en date, et je récupère l'ID. Inconvénients : double requète (inscription, et lecture de l'ID), et si, par un grand hasard, quelqu'un d'autre s'inscrit juste après l'inscription, mais avant la lecture de l'ID, l'ID récupéré sera faux!
-Ou alors, je n'auto-incrémente pas mon ID, et je l'ajoute "à la main". Inconvénients : pour ajouter un ID libre, il faut quand même lire le dernier ID : double requète.
Donc, j'aimerais un INSERT INTO qui puisse en même temps récupérer l'ID de l'entrée.
Je ne sais pas si c'est possible, sinon conseillez moi d'autres solutions.
Merci!