Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

stmt de lote MySQL com Statement.RETURN_GENERATED_KEYS


Não tenho certeza se esta é uma maneira de fazer isso com addBatch exceto da maneira que você está usando. Outra coisa a tentar é abandonar o addBatch() e tente desativar a confirmação automática. Então você pode usar o 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 isto ajude.