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 :

Connaître le prochain ID auto-increment


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Nicomart
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    205
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 205
    Par défaut Connaître le prochain ID auto-increment
    Bonjour à tous,

    dans une page (php) d'ajout dans une table d'une base mysql, je dois afficher l'identifiant de l'enregistrement (clé primaire, auto-incrémentée) AVANT que la requête d'insert ne soit effectuée.

    J'ai bien pensé à un SELECT MAX(`monid`) FROM matable; puis l'afficher avec une incrémentation de 1, mais cela ne tient pas la route si le (ou les) derniers enregistrements de la table ont été supprimés.

    Une solution inélégante au possible consisterait à faire un enregistrement bidon juste avant l'insertion, récupérer son identifiant, supprimer cet enregistrement et ensuite afficher l'identifiant incrémenté de 1.

    J'espère qu'il existe plus simple et plus élégant.

    Merci de vos réponses

    Nico

  2. #2
    Expert confirmé
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 932
    Par défaut
    Il y a LAST_INSERT_ID qui retourne le dernier n° affecté pour un auto_increment.
    http://dev.mysql.com/doc/refman/5.0/...functions.html

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 74

    Informations forums :
    Inscription : Octobre 2006
    Messages : 124
    Par défaut
    Bonjour,
    il me semble qu'une solution serait de créer un trigger after insert qui mémorise dans une table le last_insert_id();

    Cordialement
    Marc Salama

  4. #4
    Membre confirmé Avatar de Nicomart
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    205
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 205
    Par défaut
    Merci de vos réponses, je vais fouiner dans cette direction

  5. #5
    Membre confirmé Avatar de Nicomart
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    205
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 205
    Par défaut
    Bon, je viens d'essayer de mettre en oeuvre. Dans la théorie, ça marche, mais dans la pratique, mysql query n'accepte pas deux requêtes à la fois :s
    Je mets un nouveau post racontant mes malheurs, et j'update celui ci dès qu'il est posté pour le mettre en lien...

    edit : http://www.developpez.net/forums/sho...01#post2345301

    re-edit : solution adoptée détaillée dans le lien

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

Discussions similaires

  1. prochaine valeur de l'auto increment
    Par bp dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 12/05/2005, 15h17
  2. obtenir le prochain ID en mode auto-increment
    Par arnololo dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 03/12/2003, 17h43
  3. Auto Increment
    Par Guizz dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 23/06/2003, 18h36
  4. Nom du champs auto-incrementé
    Par norroy dans le forum Requêtes
    Réponses: 2
    Dernier message: 17/06/2003, 18h30
  5. Pb d'auto-incrément sur une table v7
    Par Nivux dans le forum Paradox
    Réponses: 9
    Dernier message: 26/12/2002, 12h05

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