Paramètre connection.setAutoCommit(false) ignoré
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:
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.