Heim > Datenbank > MySQL-Tutorial > Wie rufe ich automatisch generierte IDs nach einer INSERT-Operation in JDBC ab?

Wie rufe ich automatisch generierte IDs nach einer INSERT-Operation in JDBC ab?

Susan Sarandon
Freigeben: 2025-01-23 18:53:10
Original
845 Leute haben es durchsucht

How to Retrieve Auto-Generated IDs After an INSERT Operation in JDBC?

Abrufen der automatisch generierten ID nach einem INSERT in JDBC

In JDBC ist das Abrufen der durch eine INSERT-Anweisung generierten ID von entscheidender Bedeutung, insbesondere wenn automatisch inkrementierende Schlüssel oder Sequenzen verwendet werden. In diesem Leitfaden werden verschiedene Methoden beschrieben, um dies zu erreichen.

Verwenden von Statement.RETURN_GENERATED_KEYS:

Der einfachste Ansatz nutzt die Statement.RETURN_GENERATED_KEYS-Flagge von JDBC. Bei Verwendung mit PreparedStatement oder CallableStatement weist dies den Treiber an, die neu generierten Schlüssel zurückzugeben.

Beispiel:

<code class="language-java">PreparedStatement statement = connection.prepareStatement(SQL_INSERT, Statement.RETURN_GENERATED_KEYS);
// ... execute the INSERT statement ...

ResultSet generatedKeys = statement.getGeneratedKeys();
if (generatedKeys.next()) {
    long insertId = generatedKeys.getLong(1); // Get the first generated key
}</code>
Nach dem Login kopieren

Datenbankspezifische Lösungen:

Wenn RETURN_GENERATED_KEYS von Ihrer Datenbank oder Ihrem Treiber nicht unterstützt wird, sind datenbankspezifische Abfragen erforderlich:

  • Oracle: Verwenden Sie ein CallableStatement mit einer RETURNING-Klausel oder führen Sie eine SELECT CURRVAL(sequencename)-Abfrage nach dem INSERT aus.
  • MySQL: Verwenden Sie SELECT LAST_INSERT_ID(), um die zuletzt eingegebene ID abzurufen.

JDBC-Treiberkompatibilität:

Denken Sie daran, dass die Unterstützung für RETURN_GENERATED_KEYS je nach JDBC-Treiber unterschiedlich sein kann. Konsultieren Sie die Dokumentation Ihres Treibers, um dessen Fähigkeiten zu bestätigen. Ältere Treiber erfordern möglicherweise alternative Methoden.

Das obige ist der detaillierte Inhalt vonWie rufe ich automatisch generierte IDs nach einer INSERT-Operation in JDBC ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage