Fix: Kan ikke indsætte eksplicit værdi for identitetskolonnen i tabellen, når IDENTITY_INSERT er indstillet til OFF



Opdateret April 2024: Stop med at få fejlmeddelelser, og sænk dit system ned med vores optimeringsværktøj. Hent det nu kl dette link
  1. Download og installer reparationsværktøjet her.
  2. Lad det scanne din computer.
  3. Værktøjet vil derefter reparér din computer.

Når du forsøger at indsætte i en tabel med en identitetskolonne, modtager du muligvis en fejlmeddelelse, der angiver, at en eksplicit værdi ikke kan indsættes for en identitetskolonne i tabellen "Tabel", når IDENTITY_INSERT er FRA. ”Dette er ikke verdens ende, og det er faktisk ret nemt at komme rundt.

Årsagen til denne fejl er, når du prøver at fortælle SQL Server, hvad identifikationsværdien for en række i en tabel skal være. Hvis din tabel har en ID-kolonne, vil SQL Server automatisk generere den ID-værdi for dig. Fejlen er dybest set "Hej, jeg er nødt til at generere et id til dig ... fortæl mig ikke, hvad det er!"

Kun én tabel i en session kan have IDENTITY_INSERT ON på et givet tidspunkt. Hvis denne egenskab allerede er aktiveret for en tabel, og SET IDENTITY_INSERT ON er udstedt til en anden tabel, SQL Server returnerer en fejlmeddelelse, der angiver, at SET IDENTITY_INSERT allerede er aktiveret og rapporterer tabellen indstillet til ON.

Hvis den indsatte værdi er større end den aktuelle værdi for tabellen, SQL Server bruger automatisk den nyligt indsatte værdi som den aktuelle identifikationsværdi.

SET IDENTITY_INSERT er specificeret ved runtime eller runtime, ikke under scanning.

Oprettelse af databaser og tabeller

Opret først en navngivet database.
Opret en tabel med navnet “Person” ved hjælp af følgende kode. Tabel oprettet ved hjælp af "PRIMÆR NØGLEIDENTITET"

Syntaks til indstilling af "identity_insert off | selvfølgelig"

“Sæt identitetsindsættelse fra | on ”hjælper os med at løse denne fejl. Den korrekte syntaks for denne erklæring er som følger.



April 2024 Opdatering:

Du kan nu forhindre pc -problemer ved at bruge dette værktøj, såsom at beskytte dig mod filtab og malware. Derudover er det en fantastisk måde at optimere din computer til maksimal ydelse. Programmet retter let på almindelige fejl, der kan opstå på Windows -systemer - ikke behov for timers fejlfinding, når du har den perfekte løsning lige ved hånden:

  • Trin 1: Download PC Reparation & Optimizer Tool (Windows 10, 8, 7, XP, Vista - Microsoft Gold Certified).
  • Trin 2: Klik på "Begynd Scan"For at finde Windows-registreringsproblemer, der kan forårsage pc-problemer.
  • Trin 3: Klik på "Reparer Alt"For at løse alle problemer.

downloade



SÆT IDENTITY_INSERT. . {FRA | JO DA }
Mens det første argument er navnet på den database, hvor tabellen er placeret. Det andet argument, der specificerer, er det skema, som denne tabel tilhører, hvis ID-værdi skal indstilles til ON eller OFF. Det tredje argument er en tabel med en identitetskolonne.

Der er to hovedmåder at indsætte data i en tabel uden fejl. De betragtes som en løsning på denne fejl og er beskrevet nedenfor.

Fortæl SQL Server, hvad identifikationsværdien skal være

Hvis du vil specificere ID-værdier for de poster, du indsætter, skal du køre en lille SQL-kommando for at aktivere ID-indsættelse, før du kører INSERT-sætningen. Identitetsindsatser giver dig mulighed for at udfylde værdien af ​​en identitetskolonne med en bestemt værdi.

Tillad SQL Server at generere ID

Hvis du ikke er ligeglad med identitetsværdierne for disse poster, skal du lade SQL Server kun generere identitetsværdierne for dig. For at gøre dette skal du blot indtaste tabelkolonnerne og udelade identitetskolonnen.



Ekspert Tip: Dette reparationsværktøj scanner lagrene og erstatter korrupte eller manglende filer, hvis ingen af ​​disse metoder har virket. Det fungerer godt i de fleste tilfælde, hvor problemet skyldes systemkorruption. Dette værktøj vil også optimere dit system for at maksimere ydeevnen. Den kan downloades af Klik her