在 SQL Server 中存取新建立的記錄的 ID
本指南示範如何取得 SQL Server 中 aspnet_GameProfiles
表中最近插入的記錄的 ID。 最佳方法取決於您的 SQL Server 版本:
SQL Server 2005 及更高版本(沒有 INSERT 觸發器):
對於較新的 SQL Server 版本,最有效的方法是直接在 OUTPUT
語句中利用 INSERT
子句:
<code class="language-sql">INSERT INTO aspnet_GameProfiles (UserId, GameId) OUTPUT INSERTED.ID VALUES (@UserId, @GameId);</code>
隨後,使用 ExecuteScalar()
:
<code class="language-csharp">Int32 newId = (Int32)myCommand.ExecuteScalar();</code>
此方法避免了額外的查詢,提高了效能。
SQL Server 2000 或使用 INSERT 觸發器時:
對於較舊的 SQL Server 版本或涉及 INSERT
觸發器的場景,請使用 SCOPE_IDENTITY()
函數:
<code class="language-sql">INSERT INTO aspnet_GameProfiles (UserId, GameId) VALUES (@UserId, @GameId); SELECT SCOPE_IDENTITY();</code>
然後可以使用 ExecuteScalar()
存取檢索到的 ID:
<code class="language-csharp">Int32 newId = (Int32)myCommand.ExecuteScalar();</code>
透過使用這兩種方法中的任何一種,您都可以從 aspnet_GameProfiles
無縫檢索新產生的 ID,從而啟用需要此資訊的後續操作。
以上是如何在 INSERT 語句後檢索 SQL Server 中最後插入的 ID?的詳細內容。更多資訊請關注PHP中文網其他相關文章!