Heim >Datenbank >MySQL-Tutorial >Wie kann ich nach dem Einfügen von Daten mithilfe von Prepared Statements in Java eine Auto-Inkrement-ID abrufen?

Wie kann ich nach dem Einfügen von Daten mithilfe von Prepared Statements in Java eine Auto-Inkrement-ID abrufen?

Susan Sarandon
Susan SarandonOriginal
2024-11-17 11:34:01813Durchsuche

How can I retrieve an auto-increment ID after inserting data using Prepared Statements in Java?

Autoinkrementierungs-ID mit vorbereiteten Anweisungen in Java abrufen

Beim Einfügen von Daten in eine Tabelle mit einem Autoinkrement-Primärschlüssel kann dies wünschenswert sein um die generierte ID für den neuen Datensatz abzurufen. Während der AutoGeneratedKeys-Ansatz für Standardanweisungsobjekte funktioniert, kann er nicht direkt mit vorbereiteten Anweisungen verwendet werden.

Verwenden vorbereiteter Anweisungen für Einfügevorgänge

Mit vorbereiteten Anweisungen können Sie ausführen eine SQL-Abfrage mit dynamischen Parametern. Um Daten mit vorbereiteten Anweisungen einzufügen, verwenden Sie das folgende Format:

String sql = "INSERT INTO table (column1, column2) values(?, ?)";
PreparedStatement stmt = conn.prepareStatement(sql);

Durch Festlegen der Parameterwerte vor dem Aufruf vonexecuteUpdate() können Sie dieselbe Abfrage mehrmals mit unterschiedlichen Werten ausführen.

Autoinkrement-ID mit vorbereiteten Anweisungen abrufen

Um die von einer vorbereiteten Anweisung generierte Autoinkrement-ID abzurufen, müssen Sie beim Erstellen der vorbereiteten Anweisung Statement.RETURN_GENERATED_KEYS als Option angeben:

PreparedStatement stmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);

Nachdem Sie die Abfrage ausgeführt haben, können Sie die Auto-Inkrement-ID mit dem folgenden Code abrufen:

if (returnLastInsertId) {
   ResultSet rs = stmt.getGeneratedKeys();
   rs.next();
   auto_id = rs.getInt(1);
}

Durch diese geringfügige Änderung an Ihrem Code können Sie die Auto-Inkrementierung erfolgreich abrufen ID bei Verwendung vorbereiteter Anweisungen für Einfügevorgänge.

Das obige ist der detaillierte Inhalt vonWie kann ich nach dem Einfügen von Daten mithilfe von Prepared Statements in Java eine Auto-Inkrement-ID abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn