# Problem mit Autocommit (MySQL)



## Ralf Ueberfuhr (30. Aug 2005)

*Also ich habe folgenden Code:*


```
connection.setAutoCommit(false);
        final PreparedStatement s = connection.prepareStatement("UPDATE rechte set akteur_id=? WHERE plugin_id=8;");
        s.setLong(1, -1);
        s.execute();
       
        System.in.read();
        System.out.println("close connection");
        connection.rollback();
        connection.close();
```

Zum Testen schaue ich - während die Konsole auf System.in.read() wartet - in die Datenbank und sehe, dass der Datensatz geändert wurde, was ja eigentlich nicht sein soll. Auch nach dem roolback() sehe ich in der Datenbank, dass die Änderung dauerhaft ist.

*Meine Frage:* Hab ich nen Fehler drin, ist es der Treiber oder etwa sogar die Datenbank?

*Meine Installation:*

Driver Information
	Driver Name: MySQL-AB JDBC Driver
	Driver Version: mysql-connector-java-3.1.10 ( $Date: 2005/05/19 15:52:23 $, $Revision: 1.1.2.2 $ )

Database Information 
	Database Name: MySQL
	Database Version: 4.1.13-nt


----------



## bronks (30. Aug 2005)

masseur81 hat gesagt.:
			
		

> ... Database Version: 4.1.13-nt


o.g. unterstützt keine Transaktionen. Du mußt den Prozess *mysqld-max-nt* starten


----------



## Bleiglanz (30. Aug 2005)

und welchen Tabellentyp hat du? mit ISAM gehts ebenfalls nicht, du musst innoDB nehmen


----------



## Guest (30. Aug 2005)

Danke für den Tip. Hab ich gemacht, erhalte auch die Ausgabe

Driver Information
	Driver Name: MySQL-AB JDBC Driver
	Driver Version: mysql-connector-java-3.1.10 ( $Date: 2005/05/19 15:52:23 $, $Revision: 1.1.2.2 $ )

Database Information 
	Database Name: MySQL
	Database Version: 4.1.13-nt-max


Es ist aber immer noch dasselbe Verhalten.  ???:L


----------



## Ralf Ueberfuhr (30. Aug 2005)

Ok danke, jetzt klappt mit InnoDB.

DANKE, da wär ich nie drauf gekommen!


----------

