Heim >Datenbank >MySQL-Tutorial >Wie rufe ich die Autoinkrement-ID aus vorbereiteten Kontoauszügen ab?

Wie rufe ich die Autoinkrement-ID aus vorbereiteten Kontoauszügen ab?

DDD
DDDOriginal
2024-11-19 21:04:02519Durchsuche

How to Retrieve Autoincrement ID from Prepared Statements?

Autoinkrement-ID aus vorbereiteten Anweisungen abrufen

Beim Ausführen von Abfragen mit vorbereiteten Anweisungen kann es wünschenswert sein, die automatisch generierte ID abzurufen, die einer neu eingefügten Zeile zugeordnet ist. Dies ist mit vorbereiteten Anweisungen möglich, erfordert jedoch eine leichte Modifikation des herkömmlichen Ansatzes.

Bei herkömmlichen Methoden wird die Konstante AutoGeneratedKeys mit der MethodeexecuteUpdate() eines Statement-Objekts verwendet. Dieser Ansatz ist jedoch nicht auf vorbereitete Aussagen anwendbar. Stattdessen können die folgenden Schritte ausgeführt werden:

  1. Geben Sie das Statement.RETURN_GENERATED_KEYS-Flag als zweiten Parameter für die PrepareStatement()-Methode an. Dadurch wird die Datenbank darüber informiert, dass die Abfrage automatisch generierte Schlüssel erzeugt.
  2. Führen Sie die vorbereitete Anweisung wie gewohnt mit der MethodeexecuteUpdate() aus.
  3. Rufen Sie die generierten Schlüssel mit der Methode getGeneratedKeys() von ab die vorbereitete Anweisung.
  4. Durchlaufen Sie die Ergebnismenge und rufen Sie die automatisch generierte ID ab.

Hier ist ein modifizierter Codeausschnitt, der diesen Ansatz demonstriert:

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

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

Indem Sie diese Schritte befolgen, können Sie die automatisch generierte ID erfolgreich aus einer vorbereiteten Anweisung abrufen und so auf die eindeutige Kennung der neu eingefügten Zeile zugreifen.

Das obige ist der detaillierte Inhalt vonWie rufe ich die Autoinkrement-ID aus vorbereiteten Kontoauszügen ab?. 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