Help clé du dernier enregistrement

Signaler
Messages postés
11
Date d'inscription
mercredi 23 mars 2005
Statut
Membre
Dernière intervention
27 avril 2005
-
Messages postés
81
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
7 juin 2012
-
Bonjour,
Je vous envoie un mail car j'ai une question sur le langage SQL.
Je veux recupérer la clé du dernier enregistrement que j'ai inséré dans la
base de données. Le problème c'est que plusieurs personnes peuvent
enregistrer des enregistrements en même temps et que je veux récupérer
seulement le dernier enregistrement que moi j'ai enregistré pas celui des
autres personnes.
Je voulais savoir si c'est possible par exemple de faire une requete
d'ajout puis directement d'afficher la clé de mon enregistrement.

merci d'avance pour votre réponse.

4 réponses

Messages postés
150
Date d'inscription
mardi 20 juillet 2004
Statut
Membre
Dernière intervention
22 octobre 2008

Salut ,

Je pense que ça marcherait si tu fais un select selon ton identifiant.
Mais tout dépend des champs de ta table.
Elle ressemble à quoi ta base de données ?
Tu programmes en quoi ?


==============================================================
Si cette réponse convient à ton problème, n'oublies pas de l'accepter
Messages postés
11
Date d'inscription
mercredi 23 mars 2005
Statut
Membre
Dernière intervention
27 avril 2005

en faite ma BDD est un peu compliquée: j'ai une table personne,
appartient, code utilisateur et autres. Quand l'utilisateur demande de
créer une nouvelle personne via un formulaire en PHP, il rentre son
nom, son prenom, son code utilisateur, son service. Puis quand il
clique sur enregistrer, après vérification que la personne n'existe
pas, j'insère dans la base. Mais il faut que j'insère dans 3 tables
différentes: dans personne j'ai un champs clé qui est auto incrementé
puis les champs nom et prénom. Puis après je récupére la clé de la
nouvelle personne pour insérer dans les 2 autres tables qui sont en
relation avec la première : la table appartient prend la clé + le
service (une personne peut appartenir à plusieurs service c'est pour ca
que je créé une table intermédiaire), la table code utilisateur prend
la clé + le code utilisateur (comme la table appartient l'utilisateur
peut avoir plusieurs codes utilisateurs).

Mais le problème comme je l'ai dit c'est que plusieurs personnes
peuvent insérer en même temps et que moi je veux que la clé de mon
enregistrement que j'effectue pas celui d'un autre enregistrement que
fait un autre utilisateur.

Voila j'espère que c'est pas trop compliqué et que j'ai bien expliqué.
Messages postés
150
Date d'inscription
mardi 20 juillet 2004
Statut
Membre
Dernière intervention
22 octobre 2008

Je crois avoir compris ton problème.
Je ne vois pas trop de solution efficace à 100% en fait. . . (il faut dire que je ne suis pas non plusun crack en SQL !! )
Celle qui me semblerait la plus efficace serait de sortir la clé correspondante aux infos que tu viens de rentrer par rapport au code utilisateur. L'utilisateur peut en avoir plusieurs mais deux utilisateurs ne peuvent avoir le même car ce code doit être unique non ?
Si c'est bien le cas, tu fais un "select cle from appartient where code_utilisateur='$code_entre_ds_form'". Evidemment la variable "$code_entre_ds_form" est le code que l'utilisateur a entré juste avant. . .



==============================================================
Si cette réponse convient à ton problème, n'oublies pas de l'accepter
Messages postés
81
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
7 juin 2012

Des solutions a ce problème se trouve a cette adresse.

http://nepomiachty.developpez.com/index_access/index3.php

Une des solutions proposées est d'entrer une valeur improbable dans un des champs
$code_user=1000
INSERT INTO TABLE1(ID,NOM,PRENOM,EMAIL,AGE)
VALUES('','DUPONT', 'Bernard', 'b.dupont@developpez.com', '$code_user');
puis de faire un SELECT pour récupérer l'ID
SELECT ID FROM TABLE1 WHERE AGE='$code_user';
Puis de mettre a jour la valeur improbable par la vrai valeur
UPDATE TABLE1 SET AGE='35' WHERE ID=ID;

Je me rend compte seulement maintenand que ça correspond grosso modo a la soluce proposée par Ma2004.

3 requêtes pour récupérer l'ID, c'est un peu étrange non? En PhP, il me semble avoir déja utilisé une fonction qui fait ca mais j'ai oublié. (ou j'ai rêvé)

ANKOU22