Menghadapi ralat "Tidak boleh memasukkan nilai eksplisit untuk lajur identiti dalam jadual 'jadual' apabila IDENTITY_INSERT ditetapkan kepada MATI" semasa operasi sisipan SQL? Panduan ini menerangkan punca dan menyediakan penyelesaian. Ralat ini berlaku apabila anda cuba menetapkan nilai secara manual kepada lajur yang ditetapkan sebagai lajur identiti, yang menjana nilai secara automatik.
Lajur identiti ialah lajur pangkalan data yang meningkat secara automatik, biasanya berfungsi sebagai kunci utama atau pengecam unik. Pangkalan data menguruskan proses penambahan, biasanya menambah nilai langkah tetap (selalunya 1) untuk setiap baris baharu. Ini memastikan nilai yang unik, berjujukan, penting untuk operasi pangkalan data dan integriti rujukan.
Ralat timbul daripada cubaan memasukkan nilai terus ke dalam lajur identiti manakala sifat IDENTITY_INSERT
jadual ditetapkan kepada OFF
. Tetapan ini menghalang penetapan nilai manual kepada lajur identiti.
IDENTITY_INSERT
Penyelesaian melibatkan pendayaan sementara IDENTITY_INSERT
untuk jadual yang terjejas membenarkan pemasukan manual. Inilah prosesnya:
Dayakan IDENTITY_INSERT
: Jalankan arahan berikut, gantikan [TableName]
dengan nama jadual anda:
<code class="language-sql">SET IDENTITY_INSERT [TableName] ON</code>
Lakukan Sisipan: Sekarang, laksanakan pernyataan sisipan anda dengan nilai eksplisit untuk lajur identiti.
Lumpuhkan IDENTITY_INSERT
: Selepas pemasukan, lumpuhkan segera IDENTITY_INSERT
untuk memulihkan gelagat penjanaan automatik:
<code class="language-sql">SET IDENTITY_INSERT [TableName] OFF</code>
Ini memastikan bahawa sisipan seterusnya akan menggunakan ciri kenaikan automatik untuk lajur identiti, mengekalkan integriti pangkalan data anda. Ingat untuk sentiasa melumpuhkan IDENTITY_INSERT
selepas setiap sisipan manual untuk mengelakkan tingkah laku yang tidak dijangka.
Atas ialah kandungan terperinci Mengapakah SQL Melemparkan Ralat 'Tidak Dapat Memasukkan Nilai Eksplisit untuk Lajur Identiti' dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!