Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan ID Baris Terakhir yang Dimasukkan dalam Pelayan SQL?

Bagaimana untuk Mendapatkan ID Baris Terakhir yang Dimasukkan dalam Pelayan SQL?

Barbara Streisand
Barbara Streisandasal
2025-01-13 13:26:43926semak imbas

How to Get the Last Inserted Row ID in SQL Server?

Mengambil ID Baris Terakhir Dimasukkan dalam Pelayan SQL

SQL Server menawarkan pendekatan yang diperkemas untuk mendapatkan ID yang baru dibuat selepas pemasukan rekod, terutamanya berguna untuk jadual yang menggunakan IDENTITY jenis data.

Caranya:

Memanfaatkan Lajur IDENTITI

Untuk jadual dengan lajur INT IDENTITY (atau BIGINT IDENTITY), gunakan pernyataan SQL ini:

<code class="language-sql">INSERT INTO [dbo].[YourTable] ([columns...])
VALUES ([..........])

SELECT SCOPE_IDENTITY();</code>

Penjelasan:

  • Pernyataan INSERT menambah baris baharu.
  • SCOPE_IDENTITY() mengembalikan nilai IDENTITY yang paling baru dijana dalam pelaksanaan semasa.

Nota Penting:

Kaedah ini berfungsi paling baik apabila memasukkan satu baris setiap pelaksanaan. Memasukkan berbilang baris secara serentak boleh membawa kepada hasil yang tidak dapat diramalkan.

Pendekatan Alternatif:

Walaupun SCOPE_IDENTITY() digunakan secara meluas, pilihan lain wujud:

  • @@IDENTITY: Mengembalikan nilai IDENTITY terakhir yang dijana untuk sesi semasa, tanpa mengira operasi berikutnya dalam sesi atau skop lain.
  • IDENT_CURRENT('table_name'): Mendapatkan nilai IDENTITY seterusnya yang dijadualkan untuk tugasan dalam jadual yang ditentukan. Ini bukan ID baris terakhir yang disisipkan dan mungkin berbeza.

Untuk perbandingan terperinci kaedah ini dan perbezaan halusnya, rujuk artikel bernas ini oleh Pinal Dave: https://www.php.cn/link/c89f28fe875efcf36c8973a7f81bfbb0

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan ID Baris Terakhir yang Dimasukkan dalam Pelayan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn