sql >> Base de Datos >  >> RDS >> Mysql

stmt por lotes de MySQL con Statement.RETURN_GENERATED_KEYS

No estoy seguro de que esta sea una forma de hacerlo con addBatch excepto en la forma en que lo está utilizando. Otra cosa que puede intentar es abandonar el addBatch() e intente desactivar la confirmación automática en su lugar. Luego puede usar stmt.getGeneratedKeys(); . Algo como:

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);

Espero que esto ayude.