私はこの 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;
クエリの自動コミットを有効にすると、実際に機能します。ただし、手動コミットではデータベースへの変更が反映されません (手動でチェックし、更新は行われません select * from schema.t1 where a is null ではありません)。
ここで何が起こっているのかについてのアイデアはありますか?