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
Lepaskan: 2025-01-19 09:17:13
asal
1037 orang telah melayarinya

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.

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
Salin selepas log masuk

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.

ALTER TABLE Table1
DROP CONSTRAINT IDENTITY_Constraint;
Salin selepas log masuk

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 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan