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

Java erhält die Auto-Increment-Nummer der aktuell eingefügten Zeile, um sie für eine andere Abfrage zu verwenden?

Sehen Sie sich Statement#getGeneratedKeys() an was ein ResultSet zurückgibt die Sie verwenden können, um generierte Primärschlüssel abzurufen als

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

Bitte beachten Sie, dass Sie dem JDBC-Treiber einen Hinweis geben müssen, dass Sie die generierten Schlüssel abrufen möchten, während Sie ein PreparedStatement vorbereiten als

connection.prepareStatement(strSQL, Statement.RETURN_GENERATED_KEYS);

oder zum Zeitpunkt der Ausführung einer Statement als

statement.executeUpdate(strSQL, Statement.RETURN_GENERATED_KEYS);

Referenz:
Anweisung #getGeneratedKeys()