Coloana cheii primare este adesea setată la creșterea automată la construirea unei baze de date SQL Server. Limita de IDENTITATE este activată pentru coloana cheie primară pentru a face acest lucru. Locația de pornire și pasul de creștere sunt transferate în coloana IDENTITATE ca parametri. Apoi, ori de câte ori este adăugată o nouă înregistrare și inserarea identității este setată la OPRIT, valoarea coloanei IDENTITATE este mărită cu pasul predefinit, în mod normal, un număr. În plus, proprietatea IDENTITY INSERT este setată la ON doar pentru o singură masă într-o singură sesiune.
În acest articol, vom discuta despre eroare „Nu se poate insera valoare explicită pentru coloana de identitate în tabel Dezactivarea „INSERT IDENTITY” și inserarea datelor fără „ID-ul CHEIEI PRIMARE” în declarația insert Eroarea apare atunci când utilizatorul a setat „identity_insert” la „OFF”. Apoi încearcă să insereze în mod explicit datele în coloana cheii principale a tabelului. Acest lucru poate fi explicat folosind exemplul de mai jos. Mai întâi, creați o bază de date numită „appuals”. Crearea unei baze de date numită „appuals”. Creați un tabel numit „persoană” folosind următorul cod. Masa construita folosind un „IDENTITATE CHEIE PRIMARĂ” Crearea unui tabel numit „persoană” „Set identity_insert off | pe' ne va ajuta să rezolvăm această eroare. Sintaxa corectă pentru această afirmație este cea de mai jos. Întrucât primul argument este numele bazei de date în care se află tabelul. Al doilea argument este schema căreia îi aparține tabela a cărei valoare de identitate trebuie setată PE sau OPRIT . Al treilea argument Există fundamental două moduri diferite de inserare a datelor în tabel fără erori. Acestea sunt considerate soluția la această eroare și sunt discutate mai jos. În primul caz, vom insera date în tabel cu „INSERT DE IDENTITATE” setat la „OFF” . Deci, dacă ID-ul este prezent în instrucțiunea INSERT, veți primi eroarea „Nu se poate introduce o valoare explicită pentru coloana de identitate în tabelul‘ persoană ’când IDENTITATE_INSERT este setată la OPRIT”. Executați următorul cod în fila interogare.când IDENTITY_INSERT este setat la OFF ” așa cum se arată mai jos.
Crearea bazei de date și a tabelelor:
CREARE TABLE persoană (ID INT IDENTITY (1, 1), prenume VARCHAR (MAX), prenume VARCHAR (MAX))
Sintaxa pentru setarea „identity_insert off | pe':
SET IDENTITY_INSERT. .
PE
este tabelul cu coloana de identitate.
Eroare 1: setați OFF_insertare_identitate
setează identitatea_inserează persoana; introduceți în persoană (ID, prenume, prenume) valori (3, 'Sadia