Help clé du dernier enregistrement

edclaire Messages postés 11 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 27 avril 2005 - 12 avril 2005 à 15:44
cs_ankou22 Messages postés 81 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 7 juin 2012 - 11 mai 2005 à 17:52
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

cs_Ma2004 Messages postés 150 Date d'inscription mardi 20 juillet 2004 Statut Membre Dernière intervention 22 octobre 2008
13 avril 2005 à 10:38
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
0
edclaire Messages postés 11 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 27 avril 2005
14 avril 2005 à 10:48
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é.
0
cs_Ma2004 Messages postés 150 Date d'inscription mardi 20 juillet 2004 Statut Membre Dernière intervention 22 octobre 2008
14 avril 2005 à 11:20
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
0
cs_ankou22 Messages postés 81 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 7 juin 2012
11 mai 2005 à 17:52
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
0
Rejoignez-nous