Je développe une appli se connectant a une base de données My_SQL. J'utilise la classe mysql_connector-java-5.1.7.
Je voudrais savoir si il était possible de récupérer la clé primaire auto_increment après un INSERT.
Voici mon code :
Citation : code
requete="INSERT INTO PERSONNE (NOM_PERSONNE, PRENOM_PERSONNE) value ('toto', 'titi');
Class.forName("com.mysql.jdbc.Driver");
//Connexion a la base "clients" qui se trouve dans localhost
conn = DriverManager.getConnection("jdbc:mysql://localhost/" + nomBase,user,passe);
stmt = conn.createStatement();
stmt.executeUpdate(requete);
//ici je voudrais récupérer la valeur de la clé auto_increment ID_PERSONNE
Dans mon code (sur mysql aussi mais pas avec la même version de drivers), ça marchait avec le executeUpdate() simple (mais j'utilisais de PrepearedStatement), donc il faudrait tester chez toi pour voir si tu dois ajouter le deuxième argument (flag) ou pas.
A+.
"'But I don't want to go among mad people,' said Alice. 'Oh, you can't help that,' said the cat. 'We're all mad here.'" Lewis Carroll
try{ PreparedStatement p=con.prepareStatement("insert into compte(solde,datecreation) values(?,?)",Statement.RETURN_GENERATED_KEYS); p.setLong(1,compte.getSolde()); p.setDate(2,sDate); p.executeUpdate(); // recuperation du numero genere Statement statement2 = con.createStatement(); ResultSet rs = statement2.getGeneratedKeys(); if (rs != null) { // on récupère l'id généré solde = rs.getInt(1); System.out.println("votre compte a été crée avec succès : " +solde); } else{ System.out.println("votre compte else a été crée avec succès : " +solde); } } catch(SQLException s){ s.printStackTrace(); } }
voilà mon code mais ça genere une erreur SQL je sais pas pour quoi merci
try{
topic.poster(msgIncomprehensible);
}catch(DeterrageTopicException e){
System.out.println("Ne plus déterrer les messages d'y a 6 ans svp");
}
- Edité par arno21 27 juillet 2015 à 11:18:39
Mon projet: SpotRoom. N'hésites pas à passer dire ce que tu en penses !
MySQL et JAVA
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
"'But I don't want to go among mad people,' said Alice. 'Oh, you can't help that,' said the cat. 'We're all mad here.'" Lewis Carroll
Mon projet: SpotRoom. N'hésites pas à passer dire ce que tu en penses !