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

Langage Java Discussion :

Id auto incerement après insertion.


Sujet :

Langage Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 26
    Points : 26
    Points
    26
    Par défaut Id auto incerement après insertion.
    Bonjour,
    S'il vous plaît j'aimerais savoir comment il est possible de récupérer l'id de type auto increment d'une ligne nouvellement enregistrée.
    Je travaille avec PostgreSQL et Java.
    J'ai pensé à récupérer l'id max mais cette méthode ne me convient pas vraiment.
    Merci d'avance.

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 526
    Points
    9 526
    Billets dans le blog
    1
    Par défaut
    Et la FAQ alors ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre éclairé Avatar de unknow0
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 452
    Points : 676
    Points
    676
    Par défaut
    Bonjour,

    sauf que OButterlin, au dernière nouvelle le driver JDBC de posgresql ne gère pas le renvoie des clefs (a moins qu'il l'ai enfin fait au quelle cas se serai super)

  4. #4
    Nouveau membre du Club
    Inscrit en
    Septembre 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 26
    Points : 26
    Points
    26
    Par défaut
    Merci pour vos réponses mais ce n'est pas vraiment ce que je veux.
    Je suis censée utililiser la requête select currval(pg_get_serial_sequence('requests','id_request'))requests est ma table et id_request l'attribut autoincrement mais j'ai une erreur ERREUR: la valeur courante (currval) de la séquence « requests_id_request_seq » n'est pas encore définie
    dans cette session
    État SQL :55000

  5. #5
    Membre chevronné
    Inscrit en
    Août 2009
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 1 073
    Points : 1 806
    Points
    1 806
    Par défaut
    C'est normal, on ne peut appeler currval que dans une session où l'on a déjà appelé un nextval (ce que t'explique l'erreur).
    Il faut donc t'arranger pour ne pas fermer la session avec ta BDD quand tu fais l'insertion pour appeler ensuite le currval.

    Sinon, il y a une vilaine méthode, qui consiste à récupérer l'incrémentation de la séquence, la conserver dans un coin, la changer en -1, faire nextval, ça te donne une valeur que tu augmentes de 1 pour avoir la valeur courante effective, changer l'incrémentation en 1, faire nextval, ça te ramène au bon n°, et éventuellement rechanger la valeur de l'incrémentation pour la remettre au niveau initial. Pas joli mais les séquences ne le sont pas

  6. #6
    Nouveau membre du Club
    Inscrit en
    Septembre 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 26
    Points : 26
    Points
    26
    Par défaut
    Ah oui je m'en suis rendue compte J'ai finalement effectué une insertion juste (dans la table requests) avant la requête (select currval(pg_get_serial_sequence('requests','id_request')) en question et tout va bien: elle renvoit l'id de la ligne précédemment insérée. Merci pour vos réponses.

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

Discussions similaires

  1. trigger auto incrément après insertion
    Par abdelghani_k dans le forum Développement
    Réponses: 3
    Dernier message: 03/05/2011, 09h32
  2. [MySQL] Récupération d'un numéro auto juste aprés une INSERTION
    Par GarsDuCalvados dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 29/11/2010, 15h06
  3. Réponses: 8
    Dernier message: 12/02/2009, 08h42
  4. Récupérer la valeur de l'auto increment apres insertion en base
    Par altiman dans le forum Persistance des données
    Réponses: 5
    Dernier message: 02/06/2008, 11h47
  5. generer un numero auto a chaque insertion
    Par julio84 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 15/07/2003, 12h22

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