0
문제가 있습니다.MySQL 커밋 및 롤백 실패
try {
jdbcConnect(); //get mysql connect
conn.setAutoCommit(false);
pstmt = conn.prepareStatement (
"INSERT INTO member (member_name, member_introduce) VALUES (?, ?)", Statement.RETURN_GENERATED_KEYS);
pstmt.setString(1, "something");
pstmt.setString(2, "something");
pstmt.executeUpdate();
rs = pstmt.getGeneratedKeys();
rs.next();
String no = Integer.toString(rs.getInt(1);
pstmt = conn.prepareStatement ("UPDATE account SET account_name = ? WHERE account_no = ?");
pstmt.setString(1, "something");
pstmt.setString(2, no);
pstmt.executeUpdate();
conn.commit();
conn.setAutoCommit(true);
} catch (SQLException t) {
try {
if (conn != null) {
conn.rollback();
conn.setAutoCommit(true);
}
} catch (SQLException e) {
}
}//close conn and prepareStatement
저는 작업 커밋을 기대했습니다.
하지만 오류가 발생하면 update 문은 insert 문이 실행 중입니다.
무엇이 잘못 되었나요?
감사합니다. @jdevelop – blim
spot on. 이것은 내 문제였다. – Sonny