Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mendayakan dan Lumpuhkan IDENTITY_INSERT dalam SQL Server 2008 untuk Sisipan Lajur Identiti Terkawal?

Bagaimana untuk Mendayakan dan Lumpuhkan IDENTITY_INSERT dalam SQL Server 2008 untuk Sisipan Lajur Identiti Terkawal?

Barbara Streisand
Lepaskan: 2025-01-09 08:57:41
asal
765 orang telah melayarinya

How to Enable and Disable IDENTITY_INSERT in SQL Server 2008 for Controlled Identity Column Insertions?

SQL Server 2008: Mengurus Sisipan Lajur Identiti Menggunakan IDENTITY_INSERT

Dalam pangkalan data SQL Server, timbul situasi di mana anda perlu memasukkan nilai secara manual ke dalam lajur identiti. Walau bagaimanapun, IDENTITY_INSERT dilumpuhkan secara lalai, menghalang pemasukan terus.

Memahami IDENTITY_INSERT Ralat OFF

Percubaan untuk memasukkan nilai ke dalam lajur identiti dengan IDENTITY_INSERT ditetapkan kepada MATI menyebabkan ralat ini:

Tidak boleh memasukkan nilai eksplisit untuk lajur identiti dalam jadual 'TableName' apabila IDENTITY_INSERT ditetapkan kepada OFF.

Ini kerana SQL Server mengurus nilai identiti unik secara automatik. Apabila IDENTITY_INSERT DIMATIKAN, pangkalan data menjangkakan lajur identiti akan kosong, membenarkannya untuk menetapkan nilai jujukan seterusnya.

Mendayakan IDENTITY_INSERT menggunakan SQL Server Management Studio (SSMS)

Untuk mendayakan IDENTITY_INSERT untuk jadual tertentu dalam SSMS:

  1. Klik kanan pangkalan data yang mengandungi jadual sasaran.
  2. Pilih "Pertanyaan Baharu".
  3. Laksanakan arahan T-SQL berikut, gantikan <tablename> dengan nama jadual anda:
<code class="language-sql">SET IDENTITY_INSERT <tablename> ON;</code>
Salin selepas log masuk
  1. Selepas pelaksanaan, masukkan data anda. Ingat untuk melumpuhkan IDENTITY_INSERT selepas itu.

Menggunakan T-SQL Secara Terus

Anda juga boleh mengurus IDENTITY_INSERT terus dalam T-SQL:

<code class="language-sql">SET IDENTITY_INSERT sometableWithIdentity ON;

INSERT INTO sometableWithIdentity (IdentityColumn, col2, col3, ...)
VALUES (AnIdentityValue, col2value, col3value, ...);

SET IDENTITY_INSERT sometableWithIdentity OFF;</code>
Salin selepas log masuk

Mesej Ralat Terperinci

Mesej ralat akan menentukan jadual yang terjejas, membantu dalam pengenalpastian masalah. Contohnya:

<code>Cannot insert explicit value for identity column in table 'Baskets' when IDENTITY_INSERT is set to OFF.</code>
Salin selepas log masuk

Dengan mendayakan sementara IDENTITY_INSERT, anda mengawal nilai lajur identiti. Sentiasa nyahdayakannya selepas itu untuk mengekalkan integriti pangkalan data dan penjanaan identiti berurutan.

Atas ialah kandungan terperinci Bagaimana untuk Mendayakan dan Lumpuhkan IDENTITY_INSERT dalam SQL Server 2008 untuk Sisipan Lajur Identiti Terkawal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan