Hvordan fikser jeg feilen 'Kan ikke sette inn eksplisitt verdi for identitetskolonnen i tabellen når IDENTITY_INSERT er satt til AV'?



Prøv Instrumentet Vårt For Å Eliminere Problemer

Den primære nøkkelkolonnen er ofte satt til automatisk økning når du konstruerer en SQL Server-database. IDENTITET-grensen er satt til for den primære nøkkelkolonnen for å gjøre dette. Startplasseringen og trinnet for økning overføres til IDENTITET-kolonnen som parametere. Så når en ny post blir lagt til, og identitetsinnsatsen er satt til AV, økes verdien av IDENTITY-kolonnen med det forhåndsdefinerte trinnet, normalt et tall. Videre er IDENTITY INSERT-egenskapen satt til ON bare for en tabell i en enkelt økt.



I denne artikkelen vil vi diskutere feilen “Kan ikke sette inn eksplisitt verdi for identitetskolonnen i tabellen

når IDENTITY_INSERT er satt til AV ” som vist under.



Slå av 'IDENTITY INSERT OFF', og setter inn data uten 'PRIMARY KEY ID' i insert statement



Feilen oppstår når brukeren har satt “identity_insert” til “OFF”. Forsøk deretter å sette inn data i den primære nøkkelkolonnen i tabellen eksplisitt. Dette kan forklares ved hjelp av eksemplet nedenfor.

Database- og tabelloppretting:

Først oppretter du en database som heter 'appuals'.

Opprette en database som heter 'appuals'.



Lag en tabell med navnet “person” ved hjelp av følgende kode. Bygget bord ved hjelp av en “PRIMÆR NØKKELIDENTITET”

OPPRETT TABELLperson (ID INT IDENTITET (1, 1), fornavn VARCHAR (MAX), etternavn VARCHAR (MAX))

Opprette en tabell med navnet “person”

Syntaks for å sette “identity_insert off | på':

De “Sett av identitetsinnsetting | på' vil hjelpe oss med å løse denne feilen. Den riktige syntaksen for denne påstanden er som nedenfor.

SETT IDENTITY_INSERT. .

Mens det første argumentet er navnet på databasen der tabellen ligger. Det andre argumentet viser er skjemaet som den tabellen tilhører hvis identitetsverdi må settes til eller AV . Det tredje argumentet

er tabellen med identitetskolonnen.

Det er fundamentalt to forskjellige måter å sette data inn i tabellen uten feil. Disse blir ansett som løsningen på denne feilen, og blir diskutert nedenfor.

Feil 1: Sett identitetsinnsetting AV

I det første tilfellet vil vi sette inn data i tabellen med “IDENTITETSINSERT” satt til 'AV' . Så hvis ID-en er til stede i INSERT-setningen, får du feilen 'Kan ikke sette inn eksplisitt verdi for identitetskolonnen i tabellen' person 'når IDENTITY_INSERT er satt til AV'.

Utfør følgende kode i søkefanen.

sett av identitet_innsett person; sett inn i person (ID, fornavn, etternavn) verdier (3, 'Sadia