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

JDBC Java Discussion :

[mySql & Java] Dernière insertion


Sujet :

JDBC Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 115
    Points : 47
    Points
    47
    Par défaut [mySql & Java] Dernière insertion
    Hello tout le monde!

    J'utilise java pour gérer une base de données MySql.

    Je suis à la recherche d'un moyen pour récupérer l'id du dernier élément ajouter grace à un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    requete.executeQuery(maRequete)
    Sans passer par un select ensuite. N'y a t il pas une méthode permettant de le faire??

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 115
    Points : 47
    Points
    47
    Par défaut
    Oui c'est ce que je suis en train d'essayer, mais je vois pas comment récupérer la clé dans le ResultSet obtenu avec le getGeneratedKeys()...

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Points : 2 336
    Points
    2 336
    Par défaut
    execute la fonction mysql last_insert_id()

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 115
    Points : 47
    Points
    47
    Par défaut
    Navré de demandé ca mais pourriez vous me montrer un exemple, parce que la je crack...

  6. #6
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Points : 2 336
    Points
    2 336
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ResultSet rsLastId= requete.executeQuery("select last_insert_id() from machin");
    int lastId = rsLastId.getXXX()

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 115
    Points : 47
    Points
    47
    Par défaut
    Et bien je ne comprends pas, si je fait la requete suivante directement dans phpMyAdmin :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT last_insert_id( )
    FROM division_kern

    Apres avoir justement ajouter une ligne, ca me retourne ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    last_insert_id( )
    0
    0

  8. #8
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Points : 2 336
    Points
    2 336
    Par défaut
    ta table serait vide ?

  9. #9
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Le problème en utilisant une fonction spécifique à Mysql, c'est qu'il sera embeté s'il veut changer de base...

    J'ai jamais employé getGeneratedKeys, mais quelque chose comme ca devrait marcher :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ResulSet keys = tonStatement.getGeneratedKeys();
    keys.first();
     
    int id = keys.getInt(1);
    Ca devrait te donner ton id normalement.

    Sinon, tu as aussi la requête :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT ID FROM TA_TABLE ORDER BY ID DESC LIMIT 1

    Mais, c'est pas terrible et en plus ca change aussi d'un SGBD à un autre...

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 115
    Points : 47
    Points
    47
    Par défaut
    Je ne sais pas d'ou vient le problème avec la requete
    mais dernière solution proposée fonctionne parfaitement!

    Merci beaucoup!!!

  11. #11
    Membre régulier

    Inscrit en
    Décembre 2002
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 49
    Points : 76
    Points
    76
    Par défaut
    Joli le getGeneratedKeys ^^

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

Discussions similaires

  1. insertion dans une BDD MySQL en java
    Par Sanaa25 dans le forum Général Java
    Réponses: 2
    Dernier message: 08/03/2010, 12h43
  2. probleme d'insertion dans mysql avec java
    Par hypothese dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 26/09/2008, 12h02
  3. MySQL: obtenir les résultats de la dernière insertion
    Par TNorth dans le forum Requêtes
    Réponses: 2
    Dernier message: 31/05/2006, 17h44
  4. [Mysql][JDBC][Java]
    Par julienduprat dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 03/03/2006, 13h29
  5. [info]mysql et java
    Par schousso dans le forum JDBC
    Réponses: 2
    Dernier message: 10/05/2004, 13h50

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