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

Java ottiene il numero di incremento automatico della riga inserita corrente, per usarlo per un'altra query?

Dai un'occhiata a Statement#getGeneratedKeys() che restituisce un ResultSet che puoi utilizzare per recuperare le chiavi primarie generate come

ResultSet rsKeys = statement.getGeneratedKeys();
if (rsKeys.next()) {
    tournament.setId(rsKeys.getLong(1));
}

Si prega di notare che è necessario fornire un suggerimento al driver JDBC che si desidera recuperare le chiavi generate durante la preparazione di un PreparedStatement come

connection.prepareStatement(strSQL, Statement.RETURN_GENERATED_KEYS);

oppure, al momento dell'esecuzione di una Statement come

statement.executeUpdate(strSQL, Statement.RETURN_GENERATED_KEYS);

Riferimento:
Dichiarazione #getGeneratedKeys()