Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Batch stmt mit Statement.RETURN_GENERATED_KEYS

Ich bin mir nicht sicher, ob Sie dies mit addBatch tun können außer in der Weise, die Sie verwenden. Eine andere Sache, die Sie versuchen sollten, ist, addBatch() aufzugeben -Methode und versuchen Sie stattdessen, die automatische Festschreibung zu deaktivieren. Dann können Sie stmt.getGeneratedKeys(); verwenden . Etwas wie:

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

Hoffe das hilft.