Rumah >pangkalan data >tutorial mysql >Bila dan Bagaimana Anda Harus Menggunakan SQL Server IDENTITY_INSERT?

Bila dan Bagaimana Anda Harus Menggunakan SQL Server IDENTITY_INSERT?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-09 09:03:42381semak imbas

When and How Should You Use SQL Server's IDENTITY_INSERT?

Penjelasan terperinci tentang IDENTITY_INSERT dalam SQL Server 2008

Dalam SQL Server, IDENTITY_INSERT ialah tetapan utama yang menentukan sama ada pangkalan data menerima nilai eksplisit untuk lajur identiti. Apabila ditetapkan kepada OFF, pangkalan data secara automatik menjana nilai untuk lajur ini semasa operasi INSERT. Tetapi dalam beberapa kes, anda mungkin perlu menetapkan IDENTITY_INSERT kepada HIDUP untuk memasukkan nilai secara manual.

Mengapa melumpuhkan dan mendayakan IDENTITY_INSERT?

Sebab biasa untuk melumpuhkan IDENTITY_INSERT adalah untuk menguatkuasakan integriti data. Dengan menghalang pemasukan nilai eksplisit, pangkalan data memastikan bahawa nilai ID berturut-turut dijana, dengan itu mengurangkan risiko entri pendua. Walau bagaimanapun, untuk beberapa tugas tertentu, seperti mengimport data daripada sumber luaran, anda mungkin perlu menetapkan nilai identiti secara manual.

Dayakan IDENTITY_INSERT menggunakan pertanyaan SQL

Untuk mendayakan IDENTITY_INSERT dalam SQL Server 2008, laksanakan pertanyaan berikut:

<code class="language-sql">SET IDENTITY_INSERT Database.dbo.Baskets ON</code>

Ganti "Pangkalan Data" dan "dbo" dengan pangkalan data dan nama skema yang sepadan. Selepas melaksanakan pertanyaan ini, anda boleh meneruskan dengan memasukkan manual.

Pengendalian didayakan IDENTITY_INSERT dalam kod

Walaupun jika menggunakan pertanyaan didayakan IDENTITY_INSERT, jika anda masih menerima ralat semasa operasi INSERT, ia mungkin disebabkan oleh kod aplikasi. Pastikan kod anda tidak cuba menetapkan lajur identiti secara eksplisit. Apabila IDENTITY_INSERT ditetapkan kepada MATI, pangkalan data secara automatik memberikan nilai tanpa mengira nilai eksplisit yang dinyatakan dalam kod.

Ingat, selepas melengkapkan pemasukan manual, pastikan anda mengembalikan IDENTITY_INSERT kepada MATI untuk memulihkan integriti data. Lumpuhkannya menggunakan pertanyaan berikut:

<code class="language-sql">SET IDENTITY_INSERT Database.dbo.Baskets OFF</code>

Atas ialah kandungan terperinci Bila dan Bagaimana Anda Harus Menggunakan SQL Server IDENTITY_INSERT?. 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