
Windows2K
MYSQL
Javaでデータベース更新プログラムを作成しています。
しかしBatch処理の中でエラーが発生したときrollbackが正しく効きません。下にコードを示します。何か間違えているところがあれば指摘してください。
Connection con = null;
Statement stmt = null;
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://SUN:3306/TestDB", "sa", "sa");
con.setAutoCommit(false);
stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
stmt.addBatch( "UPDATE TblA SET colB=11" WHERE colA=1);
stmt.addBatch( "UPDATE TblA SET colB=12" WHERE colA=2);
stmt.addBatch( "UPDATE TblA SET colB=13" WHERE colA=3);
stmt.addBatch( "UPDATE TblA SET colB=14" WHERE colA=4);
stmt.addBatch( "UPDATE TblA SET colB=15" WHERE colA=5);
// ↓このあとエラーになるSQLをいれてExceptionを発生させたんですが、
// 上のUpdate文はすべて更新されてしまいました。★★★★★★★?????????
stmt.addBatch( "UPDATE TblA SET colB='ABD' WHERE colB=10" );
int [] updateCounts = stmt.executeBatch();
con.commit();
stmt.close();
con.close();
} catch(Exception e) {
try {
con.rollback();
System.out.println("ROLL BACK"); // ★★★ここまで正しく表示されます。
}
catch (Exception ex) {
System.err.println("rollback error: " + ex.getMessage() );
}
}
No.1ベストアンサー
- 回答日時:
MySQLはトランザクションモードで運用してますか?
デフォルトではオートコミットのみが有効になります。
参考URL:http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP DBのハッシュ化したパスワードをpassword_verifyで戻し照合したのですが上手く行きません 2 2023/02/06 13:24
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
- MySQL UPDATE my_items SET item_name '赤い,甘い,ケーキ' WHERE id 1 2023/01/03 09:52
- Visual Basic(VBA) エクセル VBA 条件付き書式 簡略化したい 2 2022/06/02 17:46
- PHP PHP一覧表示した項目にリンクをはりたい 1 2023/07/12 17:08
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- Perl RSSにdiv,ul classを付けたいのですがどのようにつけるのかわからないです 2 2022/03/28 01:53
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- MySQL `picture` varchar(255) のコマンドで間違いないでしょうか? 1 2022/11/21 04:08
- Oracle SQL update方法 2 2022/06/22 14:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Eclipseで、プロジェクト名のと...
-
eclipseをバージョンアップした...
-
【ジェネリックス】コンパイル...
-
構文エラーのやり直しについて
-
エラー:org.springframeworkが...
-
struts-config.に対する読み込...
-
JSPで意味不明のコンパイルエラー
-
メインクラス○○.classが見つか...
-
Eclipse デバッグ エラー処理
-
Eclipse 1つのプロジェクトに複...
-
タグが閉じてないというエラー...
-
visual c++ CMapWordToObでクラ...
-
-Xlint:uncheckedオプションと...
-
strutsのstruts-config.xmlでの...
-
シンボルが見つかりませんとい...
-
Javaのエラーについて
-
JSPファイルがコンパイルできな...
-
strutsでのエラーメッセージに...
-
2バイト文字を含むXMLファイル...
-
java言語について質問です。 変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Eclipseで、プロジェクト名のと...
-
エラー:org.springframeworkが...
-
eclipseをバージョンアップした...
-
Javaのエラーについてです
-
eclipseでのsvn認証エラー回避方法
-
タグが閉じてないというエラー...
-
コンパイル時にエラーが出てし...
-
Eclipseの環境について
-
tomcat起動時エラー
-
Eclipse デバッグ エラー処理
-
Eclipseで次のエラー箇所にジャ...
-
構文エラーのやり直しについて
-
シンボルが見つかりませんとい...
-
拡張子 class ファイルを開きた...
-
java eclipse apache tomcat 9....
-
DataSetのFilter
-
JSPのコンパイル?
-
JSP内でString型からint型に変...
-
struts-config.に対する読み込...
-
eclipseのエラーについて質問で...
おすすめ情報