Prior to your first insert, do you need to execute an SQL "Start
transaction"? Otherwise, it sounds like autocommit will revert to the
default start of "true".
http://dev.mysql.com/doc/mysql/en/COMMIT.html
>>> [EMAIL PROTECTED] 11/16/2004 12:14:13 PM >>>
Hi all!
In my webapp I do two db inserts into two different tables. If the
second one fails I want to rollback the first one. My code is something
like the following:
Connection con = gotten from jndi DataSource
DBBean db = new DBBean(con);
try {
con.setAutoCommit(false);
Object o = db.getSomething();
Object o2 = db.getSomethingElse();
db.doInsert1(params);
db.doInsert2(params);
con.commit();
} catch (SQLException sqle) {
con.rollback();
throw sqle;
} finally {
if (con != null) {
con.close();
}
}
I thought that this should do the trick, but if the second insert fails
the data inserted in the first insert are still there. I am using MySQL
4.0.21-7 with InnoDB and have tested that I can use transactions with
the MySQL client.
Anyone got any tips?
Regards
Trond
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]