Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan ID Terakhir Dimasukkan dalam Pelayan SQL Selepas Pernyataan INSERT?
Mengakses ID Rekod yang Baru Dicipta dalam Pelayan SQL
Panduan ini menunjukkan cara mendapatkan ID rekod yang paling baru dimasukkan ke dalam jadual aspnet_GameProfiles
dalam SQL Server. Kaedah optimum bergantung pada versi SQL Server anda:
SQL Server 2005 dan Kemudian (Tanpa Pencetus INSERT):
Pendekatan paling berkesan untuk versi SQL Server yang lebih baharu ialah memanfaatkan klausa OUTPUT
terus dalam pernyataan INSERT
:
<code class="language-sql">INSERT INTO aspnet_GameProfiles (UserId, GameId) OUTPUT INSERTED.ID VALUES (@UserId, @GameId);</code>
Seterusnya, dapatkan ID yang dijana menggunakan ExecuteScalar()
:
<code class="language-csharp">Int32 newId = (Int32)myCommand.ExecuteScalar();</code>
Kaedah ini mengelakkan pertanyaan tambahan, meningkatkan prestasi.
SQL Server 2000 atau Apabila Menggunakan Pencetus INSERT:
Untuk versi atau senario SQL Server lama yang melibatkan pencetus INSERT
, gunakan fungsi SCOPE_IDENTITY()
:
<code class="language-sql">INSERT INTO aspnet_GameProfiles (UserId, GameId) VALUES (@UserId, @GameId); SELECT SCOPE_IDENTITY();</code>
ID yang diambil kemudiannya boleh diakses menggunakan ExecuteScalar()
:
<code class="language-csharp">Int32 newId = (Int32)myCommand.ExecuteScalar();</code>
Dengan menggunakan salah satu kaedah ini, anda boleh mendapatkan ID yang baru dijana dengan lancar daripada aspnet_GameProfiles
, membolehkan operasi seterusnya yang memerlukan maklumat ini.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan ID Terakhir Dimasukkan dalam Pelayan SQL Selepas Pernyataan INSERT?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!