Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Membetulkan 'Tidak boleh memasukkan nilai eksplisit untuk lajur identiti dalam jadual'?
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!