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

Java récupère le numéro d'auto-incrémentation de la ligne actuellement insérée, pour l'utiliser pour une autre requête ?

Jetez un œil à Statement#getGeneratedKeys() qui retourne un ResultSet que vous pouvez utiliser pour récupérer toutes les clés primaires générées comme

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

Veuillez noter que vous devez indiquer au pilote JDBC que vous souhaitez récupérer les clés générées lors de la préparation d'un PreparedStatement comme

connection.prepareStatement(strSQL, Statement.RETURN_GENERATED_KEYS);

ou, lors de l'exécution d'une Statement comme

statement.executeUpdate(strSQL, Statement.RETURN_GENERATED_KEYS);

Référence :
Déclaration #getGeneratedKeys()