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

Java obtendo o número de incremento automático da linha inserida atual, para usá-lo para outra consulta?


Dê uma olhada em Statement#getGeneratedKeys() que retorna um ResultSet que você pode usar para recuperar quaisquer chaves primárias geradas Como
ResultSet rsKeys = statement.getGeneratedKeys();
if (rsKeys.next()) {
    tournament.setId(rsKeys.getLong(1));
}

Por favor, note que você precisa dar uma dica ao driver JDBC que você gostaria de recuperar as chaves geradas enquanto prepara um PreparedStatement Como
connection.prepareStatement(strSQL, Statement.RETURN_GENERATED_KEYS);

ou, no momento da execução de uma Statement Como
statement.executeUpdate(strSQL, Statement.RETURN_GENERATED_KEYS);

Referência:
Declaração #getGeneratedKeys()