Hur fixar man felet ”Kan inte infoga ett uttryckligt värde för identitetskolumnen i tabellen när IDENTITY_INSERT är inställt på OFF”?



Prova Vårt Instrument För Att Eliminera Problem

Den primära nyckelkolumnen är ofta inställd på att automatiskt öka när du skapar en SQL Server-databas. IDENTITET-gränsen är aktiverad för att den primära nyckelkolumnen ska göra detta. Startplatsen och steget i steget överförs till kolumnen IDENTITY som parametrar. När en ny post läggs till och identitetsinsatsen sätts till OFF ökas sedan värdet på kolumnen IDENTITET med det fördefinierade steget, normalt ett tal. Dessutom är egenskapen IDENTITY INSERT inställd på ON endast för en tabell i en enda session.



I den här artikeln kommer vi att diskutera felet ”Det går inte att infoga ett uttryckligt värde för identitetskolumnen i tabellen

när IDENTITY_INSERT är inställt på OFF ” enligt nedanstående.



Att stänga av 'IDENTITY INSERT OFF' och infoga data utan 'PRIMARY KEY ID' i infoga uttalande



Felet uppstår när användaren har ställt in 'identity_insert' till 'OFF'. Försöker sedan infoga data i den primära nyckelkolumnen i tabellen uttryckligen. Detta kan förklaras med exemplet nedan.

Skapa databas och tabell:

Skapa först en databas med namnet “appuals”.

Skapa en databas med namnet 'appuals'.



Skapa en tabell med namnet 'person' med följande kod. Byggt bord med en “PRIMÄR NYCKELIDENTITET”

SKAPA TABELLperson (ID INT IDENTITET (1, 1), förnamn VARCHAR (MAX), efternamn VARCHAR (MAX))

Skapa en tabell med namnet “person”

Syntax för att ställa in ”identity_insert off | på':

De “Stäng av identitetsinsättning | på' hjälper oss att lösa detta fel. Den korrekta syntaxen för detta uttalande är som nedan.

STÄLL IN IDENTITY_INSERT. .

Medan det första argumentet är namnet på databasen där tabellen finns. Det andra argumentet visar är det schema som tabellen tillhör vars identitetsvärde måste ställas in på eller AV . Det tredje argumentet

är tabellen med identitetskolumnen.

Det finns i grunden två olika sätt att infoga data i tabellen utan fel. Dessa betraktas som lösningen på detta fel och diskuteras nedan.

Fel 1: Ställ in identitetsinsättning AV

I det första fallet infogar vi data i tabellen med “IDENTITY INSERT” satt till 'AV' . Så om ID: n finns i INSERT-uttalandet får du felet ”Det går inte att infoga ett uttryckligt värde för identitetskolumnen i tabellen” person ”när IDENTITY_INSERT är inställt på AV.

Kör följande kod på frågefliken.

ställa in identitet_inför person; infoga i personvärden (ID, förnamn, efternamn) (3, 'Sadia