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: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.
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();
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.
Partager