gpt4 book ai didi

java - JDBC 事务回滚()仍在更新表

转载 作者:行者123 更新时间:2023-11-30 23:44:49 26 4
gpt4 key购买 nike

<分区>

我有一个包含 ID 列、出价列和成本列的表。我在 jdbc 中使用事务。我将自动提交设置为 false,执行一些查询来更新该表,然后调用回滚方法,该方法应撤消事务中所做的更改并将表恢复到其先前状态。但是,该表仍在更新中。

这是我的代码:

public class JdbcTransactions {
public static void main(String[] args) {
Connection myConn = null;
Statement myStmt = null;

try {
myConn = DriverManager.getConnection("jdbc:mysql://localhost:3306/tutorialdatabase", "student", "student");

myConn.setAutoCommit(false);

myStmt = myConn.createStatement();
myStmt.executeUpdate("UPDATE items SET bids = 0 WHERE id <= 5");
myStmt.executeUpdate("UPDATE items SET cost = cost + 100 WHERE id <= 5");

myConn.rollback();


}catch(SQLException e) {
System.err.println("Something went wrong: ");
e.printStackTrace();

} finally {
try {
myStmt.close();
myConn.close();
}catch(SQLException e) {

}
}
}

我想更新 tutorialdatabase 中的项目表,将前 5 行(所有 id 为 1 - 5 的行)的出价设置为 0,成本增加 100

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com