Heim >Datenbank >MySQL-Tutorial >Wie erhalte ich die zuletzt eingefügte Zeilen-ID 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.
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>
INSERT
-Anweisung fügt eine neue Zeile hinzu.SCOPE_IDENTITY()
gibt den zuletzt generierten IDENTITY
-Wert innerhalb der aktuellen Ausführung zurück.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.
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!