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

PHP & Base de données Discussion :

Récupérer valeur auto-incrément après requête DELETE [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut Récupérer valeur auto-incrément après requête DELETE
    Bonjour à toutes et tous,

    Soit une table X avec une clé primaire ID auto-incrément.

    Phase 1 : elle est vide.
    puis Phase 2 : 4 lignes insérées. ID = 4 et auto-incrément = 5.

    Phase 3 : requête PHP DELETE sur la ligne 4. ID = 3 et auto-incrément = 5

    Question : comment récupérer l'A-I 5 sans avoir à le recaler après la requête DELETE ?

    Parce que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function prochain_id(){
    $sql = mysql_query("SELECT MAX(id) FROM table");
    $row = mysql_fetch_row($sql);
    return $row[0] + 1;
    }
    ...évidemment retourne 4.
    Or j'ai besoin de connaître l'ID réel du prochain enregistrement, l'auto-incrément, donc, et pas le dernier ID + 1.

    Merci d'avance pour vos lumières.

  2. #2
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Hello

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT AUTO_INCREMENT FROM information_schema.TABLES WHERE TABLE_NAME="<table>";

  3. #3
    Membre averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut
    Woaw !!!


    Bonjour et merci pour le tuyau : je me coucherai un peu moins crétin ce soir !
    Nickel !

    Je suppose que tu as mis les < et > autour du nom de table pour les "caractères à remplacer". Pour ceux que ça intéresseraient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysql_query("SELECT AUTO_INCREMENT FROM information_schema.TABLES WHERE TABLE_NAME='ma_table' ");
    Retourne bien l'auto-incrément, soit l'ID à venir.
    Génial. Encore merci et bonne journée.

  4. #4
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Je suppose que tu as mis les < et > autour du nom de table pour les "caractères à remplacer".
    Tout à fait.

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

Discussions similaires

  1. Valeur par défaut après requête
    Par cedlannoy dans le forum SQL
    Réponses: 6
    Dernier message: 02/03/2009, 17h46
  2. Réponses: 8
    Dernier message: 12/02/2009, 08h42
  3. Réponses: 11
    Dernier message: 23/11/2007, 09h38
  4. [MySQL] récupérer une valeur auto incrémentée
    Par tonton51 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 29/06/2007, 15h23
  5. insert et récupérer valeur auto increment
    Par carelha dans le forum Langage
    Réponses: 4
    Dernier message: 27/09/2006, 17h02

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