IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Procédural MySQL Discussion :

Récupérer la clé autoincrement lors d'un insert


Sujet :

SQL Procédural MySQL

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 546
    Points : 219
    Points
    219
    Par défaut Récupérer la clé autoincrement lors d'un insert
    Bonjour,

    Je suis en PH et j'attaque une BD Mysql. Dans ma table, la clé est un champ auto-incrémenté.
    Je fais plusieurs insert dans ma table et je voulais savoir si on pouvait récupérer automatiquement la clé qui a été généré lors de mon insert.
    Si oui, comment ?
    Merci.

    Jérôme

  2. #2
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 494
    Points : 6 065
    Points
    6 065
    Par défaut
    Citation Envoyé par jejeman
    Bonjour,

    Je suis en PH et j'attaque une BD Mysql. Dans ma table, la clé est un champ auto-incrémenté.
    Je fais plusieurs insert dans ma table et je voulais savoir si on pouvait récupérer automatiquement la clé qui a été généré lors de mon insert.
    Si oui, comment ?
    Merci.

    Jérôme
    LAST_INSERT_ID(); Te donnera la dernière clé crée.

  3. #3
    Membre éclairé Avatar de pop_up
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 877
    Points : 786
    Points
    786
    Par défaut
    regarde last_insert_id(expr)


  4. #4
    Membre actif
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 546
    Points : 219
    Points
    219
    Par défaut
    Merci.
    Mais bon si j'ai une autre requete qui passe derrière, ca ne me garantie pas de retrouver mon ID.
    J'aurais aimé que la fonction insert à travers PHP me renvoi quelquechose...
    Tant pis !
    Merci quand même !

  5. #5
    Membre éclairé Avatar de pop_up
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 877
    Points : 786
    Points
    786
    Par défaut
    tu peux faire une fonction de ce style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    DROP FUNCTION IF EXISTS FCT_NEW_ID;
     
    CREATE FUNCTION FCT_NEW_ID ()
    RETURNS INT
     
     
    BEGIN
     
    DECLARE v_id INT;
     
    SELECT  MAX(id_de_ta_table)
    INTO    v_id
    FROM    TA_TABLE;
     
     
    RETURN v_id;
    END;

  6. #6
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 494
    Points : 6 065
    Points
    6 065
    Par défaut
    Citation Envoyé par jejeman
    Merci.
    Mais bon si j'ai une autre requete qui passe derrière, ca ne me garantie pas de retrouver mon ID.
    J'aurais aimé que la fonction insert à travers PHP me renvoi quelquechose...
    Tant pis !
    Merci quand même !
    Tu stock l'information temporairement ou dans un tableau.

  7. #7
    Membre actif
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 546
    Points : 219
    Points
    219
    Par défaut
    OK merci
    je vais creuser la dessus...

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 9
    Points : 22
    Points
    22
    Par défaut
    Bonsoir,

    Peut être que ceci te conviendrai : mysql_insert_id()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my_ulonglong mysql_insert_id(MYSQL *mysql)
    Matt...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Récupérer la clé créée lors d'une insertion
    Par Prosis dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 21/11/2007, 21h55
  2. Récupérer l'identifiant lors d'un INSERT
    Par novices dans le forum Langage SQL
    Réponses: 4
    Dernier message: 31/08/2006, 10h03
  3. Récupérer le numéro auto lors d'une insertion
    Par zoidy dans le forum Access
    Réponses: 5
    Dernier message: 27/04/2006, 11h20
  4. [ACCESS] Connaitre l'autoincrement lors d'un INSERT
    Par Benjamin GAGNEUX dans le forum Bases de données
    Réponses: 17
    Dernier message: 25/06/2004, 22h49
  5. maj d'1 colonne avec la date du jour lors de l'INSERT
    Par Celina dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 18/12/2003, 15h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo