Heim >Datenbank >MySQL-Tutorial >Wie erhalte ich die zuletzt eingefügte Zeilen-ID in SQL Server?

Wie erhalte ich die zuletzt eingefügte Zeilen-ID in SQL Server?

Barbara Streisand
Barbara StreisandOriginal
2025-01-13 13:26:43931Durchsuche

How to Get the Last Inserted Row ID in SQL Server?

Abrufen der ID der zuletzt eingefügten Zeile in SQL Server

SQL Server bietet einen optimierten Ansatz, um die neu erstellte ID nach dem Einfügen eines Datensatzes abzurufen, was besonders nützlich für Tabellen ist, die den Datentyp IDENTITY verwenden.

Die Methode:

Nutzung von IDENTITY-Spalten

Für Tabellen mit einer Spalte INT IDENTITY (oder BIGINT IDENTITY) verwenden Sie diese SQL-Anweisung:

<code class="language-sql">INSERT INTO [dbo].[YourTable] ([columns...])
VALUES ([..........])

SELECT SCOPE_IDENTITY();</code>

Erklärung:

  • Die INSERT-Anweisung fügt eine neue Zeile hinzu.
  • SCOPE_IDENTITY() gibt den zuletzt generierten IDENTITY-Wert innerhalb der aktuellen Ausführung zurück.

Wichtiger Hinweis:

Diese Methode funktioniert am besten, wenn pro Ausführung eine einzelne Zeile eingefügt wird. Das gleichzeitige Einfügen mehrerer Zeilen kann zu unvorhersehbaren Ergebnissen führen.

Alternative Ansätze:

Obwohl SCOPE_IDENTITY() weit verbreitet ist, gibt es auch andere Optionen:

  • @@IDENTITY: Gibt den zuletzt generierten IDENTITY-Wert für die aktuelle Sitzung zurück, unabhängig von nachfolgenden Vorgängen in anderen Sitzungen oder Bereichen.
  • IDENT_CURRENT('table_name'): Ruft den nächsten IDENTITY-Wert ab, der für die Zuweisung in der angegebenen Tabelle geplant ist. Dies ist nicht die ID der zuletzt eingefügten Zeile und kann abweichen.

Einen detaillierten Vergleich dieser Methoden und ihrer subtilen Unterschiede finden Sie in diesem aufschlussreichen Artikel von Pinal Dave: https://www.php.cn/link/c89f28fe875efcf36c8973a7f81bfbb0

Das obige ist der detaillierte Inhalt vonWie erhalte ich die zuletzt eingefügte Zeilen-ID in SQL Server?. 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