Heim > Datenbank > MySQL-Tutorial > Wie rufe ich die zuletzt eingefügte ID nach einer Datenbankeinfügung in SQL Server ab?

Wie rufe ich die zuletzt eingefügte ID nach einer Datenbankeinfügung in SQL Server ab?

DDD
Freigeben: 2025-01-21 23:12:13
Original
339 Leute haben es durchsucht

How to Retrieve the Last Inserted ID After a Database Insertion in SQL Server?

Erhalten Sie die neueste ID nach dem Einfügen in die SQL Server-Datenbank

Nach dem Einfügen von Daten in die Datenbank ist es häufig erforderlich, die ID des zuletzt eingefügten Datensatzes zu ermitteln. Schauen wir uns ein Szenario an: Nachdem wir eine Zeile in die Tabelle aspnet_GameProfiles eingefügt haben, müssen wir die automatisch inkrementierte GamesProfileId erhalten.

Der folgende Codeausschnitt führt eine INSERT-Anweisung aus, verfügt jedoch über keinen Mechanismus zum Erfassen der neu generierten GamesProfileId. Um dies zu erreichen, werden wir je nach verwendeter SQL Server-Version verschiedene Methoden untersuchen.

SQL Server 2005 und höher (kein Einfügetrigger)

Wenn für SQL Server 2005 und höher kein Einfügetrigger in der Tabelle aspnet_GameProfiles definiert ist, können Sie die Einfügeanweisung so ändern, dass sie eine OUTPUT-Klausel enthält:

<code class="language-sql">INSERT INTO aspnet_GameProfiles(UserId,GameId)
OUTPUT INSERTED.ID
VALUES(@UserId, @GameId)</code>
Nach dem Login kopieren

Dadurch wird automatisch die eingefügte ID als Ausgabe der Abfrage zurückgegeben. Sie können es mit dem folgenden Code abrufen:

<code class="language-csharp">SqlCommand myCommand = new SqlCommand(insertSql, myConnection);
...
SqlDataReader reader = myCommand.ExecuteReader();
reader.Read();
Int32 newId = reader.GetInt32(0);</code>
Nach dem Login kopieren

SQL Server 2000 oder Trigger einfügen

Wenn Sie SQL Server 2000 verwenden oder Einfügetrigger für die Tabelle haben, können Sie die Funktion SCOPE_IDENTITY() verwenden:

<code class="language-sql">INSERT INTO aspnet_GameProfiles(UserId,GameId) 
VALUES(@UserId, @GameId);
SELECT SCOPE_IDENTITY()</code>
Nach dem Login kopieren

Nachdem Sie die Abfrage ausgeführt haben, können Sie die zuletzt eingegebene ID mit dem folgenden Code abrufen:

<code class="language-csharp">SqlCommand myCommand = new SqlCommand(insertSql, myConnection);
...
Int32 newId = (Int32) myCommand.ExecuteScalar();</code>
Nach dem Login kopieren

Durch die Verwendung dieser Techniken können Sie effektiv die zuletzt eingefügte GamesProfileId abrufen und sie so in Ihrer Anwendung für spätere Einfügungen oder andere Vorgänge verwenden.

Das obige ist der detaillierte Inhalt vonWie rufe ich die zuletzt eingefügte ID nach einer Datenbankeinfügung in SQL Server 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage