Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Membetulkan 'Tidak boleh memasukkan nilai eksplisit untuk lajur identiti dalam jadual'?

Bagaimana untuk Membetulkan 'Tidak boleh memasukkan nilai eksplisit untuk lajur identiti dalam jadual'?

DDD
DDDasal
2025-01-19 09:17:131014semak imbas

How to Fix

Menyelesaikan masalah Ralat "Tidak boleh memasukkan nilai eksplisit untuk lajur identiti" dalam Pelayan SQL

Menghadapi ralat "Tidak boleh memasukkan nilai eksplisit untuk lajur identiti dalam 'jadual' jadual apabila IDENTITY_INSERT ditetapkan kepada MATI" dalam SQL Server? Ini biasanya timbul apabila cuba memasukkan nilai secara manual ke dalam lajur yang ditetapkan untuk penambahan automatik. Lajur identiti secara automatik menjana nilai jujukan untuk setiap baris baharu dan secara lalai, IDENTITY_INSERT ditetapkan kepada OFF, menghalang pemasukan nilai langsung.

Berikut ialah cara untuk menyelesaikan isu ini:

Kaedah 1: Dayakan Sementara IDENTITY_INSERT

Kaedah ini membolehkan anda memasukkan nilai tertentu ke dalam lajur identiti, tetapi hanya sementara.

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

INSERT INTO Table1 (OperationID, OpDescription, FilterID)  --Column list is mandatory
VALUES (20, 'Hierarchy Update', 1);

SET IDENTITY_INSERT Table1 OFF</code>

Kaedah 2: Keluarkan Kekangan Identiti

Jika anda tidak memerlukan penambahan automatik untuk lajur ini, alih keluar kekangan identiti. Nota: Ini menyahdayakan penambahan automatik secara kekal.

<code class="language-sql">ALTER TABLE Table1
DROP CONSTRAINT IDENTITY_Constraint;</code>

Selepas perubahan ini, anda boleh memasukkan nilai terus ke dalam lajur. Walau bagaimanapun, ingat bahawa anda perlu menentukan nilai secara manual untuk setiap sisipan baris berikutnya. Pertimbangan yang teliti diperlukan sebelum memilih kaedah ini.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan 'Tidak boleh memasukkan nilai eksplisit untuk lajur identiti dalam jadual'?. 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