[英]update prepared statement is not commiting
我有以下Java代碼,不幸的是,更新所做的更改未傳播到mySQL數據庫:
con = DriverManager.getConnection(url, user, password);
con.setAutoCommit(false);
preparedStatement = con.prepareStatement("update schema.t1 inner join
schema.t2 on (t1.id=t2.id)" +
" set t1.a=t2.a, t1.b=t2.b" );
int r = preparedStatement.executeUpdate();
System.out.println("execute update result = "+r);
preparedStatement.close();
con.commit();
con.close;
如果我啟用了自動提交查詢,的確可以工作; 但是,使用手動提交不會將更改傳播到數據庫(我手動檢查並且未進行任何更新,請從schema.t1中選擇*,其中a不為null)。
關於這里可能發生什么的任何想法?
提交后嘗試關閉您的prepareStatement。 所以改變這個:
preparedStatement.close();
con.commit();
對此:
con.commit();
preparedStatement.close();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.