Bonjour,

J'ai une simple application Java et je souhaiterais créer une transaction pour insérer plusieurs données dans une BDD.
Le problème est que chaque requête est exécutée séparément, comme si l'AutoCommit était à true.

Voila un bout de code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
Class.forName ("com.mysql.jdbc.Driver").newInstance ();
Connection conn = DriverManager.getConnection (url, username, password);
 
conn.setAutoCommit(false);
//conn.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);
// - cette ligne commente ne fait pas l'affaire non plus
 
Statement s = conn.createStatement();
s.executeUpdate( "UPDATE sequences set id="+newNid+" where name=\"node_nid\"";);
conn.rollback();
conn.close();
Voila, je m'attendais à ce que la table ne soit pas modifiée après ce code, puisque je ne fais pas de commit, mais un rollback. Et pourtant, ça modifie bien la BDD.

J'utilise MYSQL 5 (celle qui vient avec Wamp Server) et le driver mysql-connector-java-3.0.17 récupéré sur le site de MySQL.

Quelqu'un saurait-il m'expliquer comment faire pour éviter le commit ?

Merci d'avance pour votre aide.