Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL batch stmt con Statement.RETURN_GENERATED_KEYS

Non sono sicuro che questo sia un modo per farlo con addBatch tranne nel modo in cui stai usando. Un'altra cosa da provare è abbandonare addBatch() metodo e prova invece a disattivare il commit automatico. Quindi puoi utilizzare stmt.getGeneratedKeys(); . Qualcosa come:

connection.setAutoCommit(false);
stmt.executeUpdate("insert into table1(\"id_auto_generated\", \"foo\") ...");
DatabaseResults results = stmt.getGeneratedKeys();
// extract the id from the results
stmt.executeUpdate("insert into table2(\"table1_id\", \"boo\") ...");
... many more stmts here
connection.commit();
connection.setAutoCommit(true);

Spero che questo aiuti.