Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL batch stmt avec Statement.RETURN_GENERATED_KEYS

Je ne suis pas sûr que ce soit une façon de faire cela avec addBatch sauf de la manière que vous utilisez. Une autre chose à essayer est d'abandonner le addBatch() méthode et essayez de désactiver la validation automatique à la place. Ensuite, vous pouvez utiliser le stmt.getGeneratedKeys(); . Quelque chose comme :

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

J'espère que cela vous aidera.