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

PostgreSQL Discussion :

mysql_insert_id version PostgreSQL


Sujet :

PostgreSQL

  1. #1
    Membre averti
    Inscrit en
    Décembre 2003
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 17
    Par défaut mysql_insert_id version PostgreSQL
    Bonjour

    En cherchant sur le net une fonction pour remplacer mysql_insert_id pour PostgreSQL, j'ai trouvé cette article : http://www.sitepoint.com/print/site-mysql-postgresql-2
    qui donne à la fin de la page cette fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function postg_insert_id($tablename, $fieldname)
    {
     global $ouverture;
     $result = pg_exec($ouverture, "SELECT last_value FROM ${tablename}_${fieldname}_seq");
     $seq_array = pg_fetch_row($result, 0);
     return $seq_array[0];
    }
    Elle marche très bien mais je ne comprend pas comment elle fonctionne...
    Ce que je ne comprend pas c'est :
    last_value et la syntaxe ${tablename}_${fieldname}_seq

    Si qqn pouvait m'éclaircir.

    Merci d'avance

    melmel

  2. #2
    Membre expérimenté
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Septembre 2003
    Messages
    302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2003
    Messages : 302
    Par défaut
    les id comme tu l'entends sous mysql sont en fait des sequences sous postgres qui sont construits de cette façon : nomdelatable_nomduchamp_seq

    Ensuite la variable last_value te donne la valeur d'id libre à laquelle tu peux mettre ton nouvel enregistrement. C'est aps très français mais j'espère que tu comprends ce que je veux dire

  3. #3
    Membre averti
    Inscrit en
    Décembre 2003
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 17
    Par défaut
    C'est pas très clair...
    J'ai lu ca, http://dgriessinger.developpez.com/p...sql/sequences/, mais je ne comprend pas très bien ce que tu veux dire par :

    last_value te donne la valeur d'id libre à laquelle tu peux mettre ton nouvel enregistrement.
    Si last_value me donne la valeur d'id libre, il ne devrait rien avoir dans cet id, si ?
    Par exemple, les id 1, 2, 3 ont été créés. last_value me retourne 4 ?
    Je suis à l'ouest là ou c'est ca ? ^^
    Ce que je veux c'est bien l'id attribué à cet enregistrement, soit sa séquence, pas la suivante.
    A moins que SELECT soit super fort et qu'il me retourne la valeur juste avant last_value, qui est la bonne, non ?

    please help

  4. #4
    Membre expérimenté
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Septembre 2003
    Messages
    302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2003
    Messages : 302
    Par défaut
    autant pour moi je me suis trompé : ça te retourne la dernière valeur donc dans ton exemple ça te retourne 3

    désolé pour la mauvaise info (j'aurai du vérifier avant)

  5. #5
    Membre averti
    Inscrit en
    Décembre 2003
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 17
    Par défaut
    Merci pour ton aide, c'est beaucoup plus clair maintenant

    melmel

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/07/2011, 22h13
  2. telechargement version postgresql pour windows
    Par kieffer dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 08/08/2007, 22h29
  3. peut on mettre a jour une ancienne version de postgresql
    Par gballou dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 28/11/2005, 15h01
  4. Quelle version de Postgresql pour mandrake 9.0 ?
    Par milka dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 09/03/2004, 10h45
  5. Version windows de PostGreSQL
    Par BONNEFOI Patrick dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 04/09/2003, 08h13

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