Kolom kunci utama sering kali disetel ke kenaikan otomatis saat membuat database SQL Server. Batas IDENTITAS ditetapkan untuk kolom kunci utama untuk melakukan ini. Lokasi awal dan langkah kenaikan ditransfer ke kolom IDENTITAS sebagai parameter. Kemudian setiap kali catatan baru ditambahkan, dan penyisipan identitas diatur ke OFF, nilai kolom IDENTITAS ditingkatkan dengan langkah yang ditentukan sebelumnya biasanya angka. Selain itu, properti IDENTITAS INSERT disetel ke AKTIF hanya untuk satu tabel dalam satu sesi.
Pada artikel ini, kita akan membahas error tersebut “Tidak dapat memasukkan nilai eksplisit untuk kolom identitas dalam tabel Menonaktifkan 'IDENTITY INSERT OFF', dan memasukkan data tanpa 'PRIMARY KEY ID' ke dalam pernyataan insert Kesalahan muncul saat pengguna menyetel 'identity_insert' ke 'OFF'. Kemudian mencoba memasukkan data ke dalam kolom kunci utama tabel secara eksplisit. Ini dapat dijelaskan dengan contoh di bawah ini. Pertama, buat database bernama 'appuals'. Membuat database bernama 'appuals'. Buat tabel bernama 'orang' menggunakan kode berikut. Tabel yang dibangun menggunakan file “IDENTITAS KUNCI UTAMA” Membuat tabel bernama 'orang' Itu “Setel identity_insert off | di' akan membantu kami mengatasi kesalahan ini. Sintaks yang benar untuk pernyataan ini adalah seperti di bawah ini. Sedangkan argumen pertama adalah nama database tempat tabel tersebut berada. Argumen kedua yang ditampilkan adalah skema yang dimiliki tabel tersebut yang nilai identitasnya harus disetel DI atau MATI . Argumen ketiga Pada dasarnya ada dua cara penyisipan data yang berbeda ke dalam tabel tanpa kesalahan. Ini dianggap sebagai solusi untuk kesalahan ini dan dibahas di bawah. Dalam kasus pertama, kami akan memasukkan data ke dalam tabel dengan ekstensi “INSERT IDENTITAS” mulai 'MATI' . Jadi, jika ID ada di pernyataan INSERT, Anda akan mendapatkan error 'Tidak dapat memasukkan nilai eksplisit untuk kolom identitas di tabel 'orang' ketika IDENTITY_INSERT disetel ke OFF'. Jalankan kode berikut di tab kueri.saat IDENTITY_INSERT disetel ke OFF ” seperti gambar dibawah.
Pembuatan database dan tabel:
BUAT TABEL orang (ID INT IDENTITAS (1, 1), first_name VARCHAR (MAX), last_name VARCHAR (MAX))
Sintaks untuk menyetel “identity_insert off | di':
ATUR IDENTITY_INSERT. .
DI
adalah tabel dengan kolom identitas.
Kesalahan 1: Tetapkan identitas_insert MATI
setel identity_insert person off; masukkan ke dalam nilai person (ID, first_name, last_name) (3, 'Sadia