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

Bagaimana untuk Mendapatkan Identiti Baris yang Baru Dimasukkan dalam Pelayan SQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-23 09:16:14526semak imbas

How to Retrieve the Identity of a Newly Inserted Row in SQL Server?

Mengambil ID Baris Baru Ditambah dalam Pelayan SQL: Meneroka @@IDENTITY, SKOP_IDENTITY, IDENT_CURRENT dan Klausa OUTPUT

Apabila menambahkan baris pada jadual yang mengandungi lajur identiti, mendapatkan ID yang baru dijana selalunya penting. SQL Server menawarkan beberapa kaedah untuk mencapai ini, masing-masing mempunyai kelebihan dan batasannya sendiri.

@@IDENTITI

Fungsi ini mengembalikan nilai identiti yang dijana terbaharu merentas semua jadual dalam sesi semasa. Oleh itu, nilai yang dikembalikan mungkin tidak selalu mencerminkan ID baris yang baru anda masukkan. Ia terbukti berguna apabila mendapatkan semula ID daripada pencetus atau pernyataan lain yang dilaksanakan dalam sesi yang sama.

SKOP_IDENTITI()

SCOPE_IDENTITY() menyediakan nilai identiti terakhir yang dijana dalam sesi dan skop semasa. Ini biasanya kaedah pilihan untuk mendapatkan semula ID baris yang baru anda tambahkan.

IDENT_CURRENT('tableName')

Fungsi ini mendapatkan semula nilai identiti terakhir yang dijana untuk jadual tertentu, tanpa mengira sesi atau skop. Ini berguna apabila anda memerlukan ID untuk jadual yang anda belum memasukkan rekod secara langsung.

Klausa OUTPUT

Klausa OUTPUT pernyataan INSERT membenarkan akses kepada setiap baris yang disisipkan oleh pernyataan itu, termasuk nilai identiti. Output boleh diarahkan ke jadual atau pembolehubah sementara untuk mendapatkan semula ID kemudian.

Memilih Pendekatan Terbaik

Kaedah optimum bergantung pada keperluan khusus anda:

  • Gunakan @@IDENTITY apabila mendapatkan ID daripada pencetus atau pernyataan lain dalam sesi yang sama.
  • Untuk ID baris yang baru anda masukkan, SCOPE_IDENTITY() ialah pendekatan yang disyorkan.
  • Gunakan IDENT_CURRENT('tableName') untuk mendapatkan ID bagi jadual tanpa sisipan rekod terkini.
  • Untuk mendapatkan ID daripada berbilang baris dalam satu penyata, atau untuk mendapatkan semula ID yang boleh dipercayai walaupun ralat berlaku, gunakan klausa OUTPUT.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Identiti Baris yang Baru 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