Fix: Kan ikke sette inn eksplisitt verdi for identitetskolonnen i tabellen når IDENTITY_INSERT er satt til AV



Oppdatert april 2024: Slutt å få feilmeldinger og senk systemet med optimaliseringsverktøyet vårt. Få den nå på denne koblingen
  1. Last ned og installer reparasjonsverktøyet her.
  2. La den skanne datamaskinen din.
  3. Verktøyet vil da fiks datamaskinen din.

Når du prøver å sette inn i en tabell med en identitetskolonne, kan du motta en feilmelding som indikerer at en eksplisitt verdi ikke kan settes inn for en identitetskolonne i tabellen "Tabell" når IDENTITY_INSERT er AV. “Dette er ikke verdens ende, og det er faktisk ganske enkelt å komme seg rundt.

Årsaken til denne feilen er når du prøver å fortelle SQL Server hva identifikasjonsverdien for en rad i en tabell skal være. Hvis tabellen din har en ID-kolonne, vil SQL Server automatisk generere den ID-verdien for deg. Feilen er i utgangspunktet "Hei, jeg må generere en ID for deg ... ikke fortell meg hva det er!"

Bare én tabell i en økt kan ha IDENTITY_INSERT PÅ til enhver tid. Hvis denne egenskapen allerede er aktivert for en tabell og SET IDENTITY_INSERT ON er utstedt til et annet bord, SQL Server returnerer en feilmelding som indikerer at SET IDENTITY_INSERT allerede er aktivert og rapporterer tabellen satt til PÅ.

Hvis den innlagte verdien er større enn gjeldende identifikasjonsverdi for tabellen, SQL Server bruker automatisk den nylig innsatte verdien som gjeldende identifikasjonsverdi.

SET IDENTITY_INSERT er spesifisert på kjøretid eller på kjøretid, ikke under skanning.

Opprette databaser og tabeller

Opprett først en navngitt database.
Lag en tabell med navnet “Person” ved hjelp av følgende kode. Tabell opprettet ved hjelp av “PRIMÆR NØKKELIDENTITET”

Syntaks for å sette “identity_insert off | selvfølgelig"

“Sett av identitetsinnsetting | on ”hjelper oss med å fikse denne feilen. Den riktige syntaksen for denne påstanden er som følger.



Oppdatering fra april 2024:

Du kan nå forhindre PC -problemer ved å bruke dette verktøyet, for eksempel å beskytte deg mot tap av filer og skadelig programvare. I tillegg er det en fin måte å optimalisere datamaskinen for maksimal ytelse. Programmet fikser vanlige feil som kan oppstå på Windows -systemer uten problemer - du trenger ikke timer med feilsøking når du har den perfekte løsningen på fingertuppene:

  • Trinn 1: Last ned PC Repair & Optimizer Tool (Windows 10, 8, 7, XP, Vista - Microsoft Gold-sertifisert).
  • Trinn 2: Klikk på "start Scan"For å finne Windows-registerproblemer som kan forårsake PC-problemer.
  • Trinn 3: Klikk på "Reparer alle"For å fikse alle problemer.

nedlasting



SETT IDENTITY_INSERT. . {AV | SIKKER }
Mens det første argumentet er navnet på databasen der tabellen ligger. Det andre argumentet som spesifiserer er skjemaet som denne tabellen tilhører, hvis ID-verdi skal settes til PÅ eller AV. Det tredje argumentet er en tabell med en identitetskolonne.

Det er to hovedmåter å sette inn data i en tabell uten feil. De betraktes som en løsning på denne feilen og er beskrevet nedenfor.

Fortell SQL Server hva identifikatorverdien skal være

Hvis du vil spesifisere ID-verdier for postene du setter inn, må du kjøre en liten SQL-kommando for å aktivere ID-innsetting før du kjører INSERT-setningen. Identitetsinnsatser lar deg fylle verdien av en identitetskolonne med en bestemt verdi.

Tillat SQL Server å generere ID

Hvis du ikke bryr deg om identitetsverdiene for disse postene, bør du la SQL Server bare generere identitetsverdiene for deg. For å gjøre dette, skriv ganske enkelt inn tabellkolonnene og utelat identitetskolonnen.



Ekspert Tips: Dette reparasjonsverktøyet skanner depotene og erstatter korrupte eller manglende filer hvis ingen av disse metodene har fungert. Det fungerer bra i de fleste tilfeller der problemet skyldes systemkorrupsjon. Dette verktøyet vil også optimere systemet ditt for å maksimere ytelsen. Den kan lastes ned av Klikk her