Mendapatkan ID Baris Terakhir Disisipkan
Apabila bekerja dengan pangkalan data SQL Server dan kunci utama penambahan automatik, mengakses ID rekod yang paling baru ditambah adalah keperluan biasa. Panduan ini menggariskan beberapa kaedah untuk mencapai ini, dengan mengambil kira versi SQL Server yang berbeza dan kemungkinan kehadiran pencetus sisipan.
SQL Server 2005 dan Kemudian (Tanpa Pencetus Sisipan)
Untuk versi 2005 dan seterusnya, pendekatan yang diperkemas melibatkan memasukkan klausa OUTPUT INSERTED.ID
terus ke dalam pernyataan INSERT
anda. Klausa ini mengembalikan ID baris yang baru dimasukkan dengan cekap. Berikut ialah contoh:
INSERT INTO aspnet_GameProfiles (UserId, GameId) OUTPUT INSERTED.ID VALUES (@UserId, @GameId);
ID yang baru dijana kemudiannya mudah diakses melalui kaedah ExecuteScalar()
objek SqlCommand
anda:
Int32 newId = (Int32)myCommand.ExecuteScalar();
SQL Server 2000 atau Apabila Insert Trigger Wujud
Dalam SQL Server 2000 atau senario yang melibatkan pencetus sisipan, strategi yang sedikit berbeza diperlukan:
INSERT
standard.SCOPE_IDENTITY()
untuk mendapatkan semula nilai identiti yang dimasukkan terakhir.INSERT INTO aspnet_GameProfiles (UserId, GameId) VALUES (@UserId, @GameId); SELECT SCOPE_IDENTITY();
Sama seperti kaedah sebelumnya, ExecuteScalar()
boleh digunakan untuk mendapatkan ID yang terhasil:
Int32 newId = (Int32)myCommand.ExecuteScalar();
Kaedah ini menyediakan cara yang cekap dan boleh dipercayai untuk mendapatkan semula ID baris terakhir yang dimasukkan, membolehkan penyepaduan lancar dengan operasi pangkalan data seterusnya.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan ID Terakhir yang Dimasukkan dalam SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!