Wie behebt man den Fehler 'Expliziter Wert für Identitätsspalte kann nicht in Tabelle eingefügt werden, wenn IDENTITY_INSERT auf OFF gesetzt ist'?



Versuchen Sie Unser Instrument, Um Probleme Zu Beseitigen

Die Primärschlüsselspalte wird beim Erstellen einer SQL Server-Datenbank häufig auf automatische Inkrementierung festgelegt. Hierfür ist das IDENTITY-Limit für die Primärschlüsselspalte festgelegt. Der Startort und der Schritt des Inkrements werden als Parameter in die Spalte IDENTITY übertragen. Wenn dann ein neuer Datensatz hinzugefügt und die Identitätseinfügung auf AUS gesetzt wird, wird der Wert der Spalte IDENTITÄT um den vordefinierten Schritt normalerweise um eine Zahl erhöht. Darüber hinaus wird die IDENTITY INSERT-Eigenschaft nur für eine Tabelle in einer einzelnen Sitzung auf ON gesetzt.



In diesem Artikel werden wir den Fehler diskutieren „Es kann kein expliziter Wert für die Identitätsspalte in die Tabelle eingefügt werden

wenn IDENTITY_INSERT auf OFF gesetzt ist ” Wie nachfolgend dargestellt.



Deaktivieren Sie 'IDENTITY INSERT OFF' und fügen Sie Daten ohne 'PRIMARY KEY ID' in die insert-Anweisung ein



Der Fehler tritt auf, wenn der Benutzer 'identity_insert' auf 'OFF' gesetzt hat. Versucht dann, Daten explizit in die Primärschlüsselspalte der Tabelle einzufügen. Dies kann anhand des folgenden Beispiels erklärt werden.

Datenbank- und Tabellenerstellung:

Erstellen Sie zunächst eine Datenbank mit dem Namen 'appuals'.

Erstellen einer Datenbank mit dem Namen 'appuals'.



Erstellen Sie eine Tabelle mit dem Namen 'Person' mit dem folgenden Code. Gebauter Tisch mit a 'PRIMARY KEY IDENTITY'

CREATE TABLE Person (ID INT IDENTITY (1, 1), Vorname VARCHAR (MAX), Nachname VARCHAR (MAX))

Erstellen einer Tabelle mit dem Namen 'Person'

Syntax zum Setzen von “identity_insert off | auf':

Das “Identity_insert off | setzen auf' hilft uns, diesen Fehler zu beheben. Die korrekte Syntax für diese Anweisung lautet wie folgt.

SET IDENTITY_INSERT. .
AUF

Das erste Argument ist der Name der Datenbank, in der sich die Tabelle befindet. Das zweite Argument zeigt das Schema, zu dem diese Tabelle gehört, deren Identitätswert festgelegt werden muss AUF oder AUS . Das dritte Argument

ist die Tabelle mit der Identitätsspalte.

Grundsätzlich gibt es zwei verschiedene Möglichkeiten, Daten fehlerfrei in die Tabelle einzufügen. Diese werden als Lösung für diesen Fehler angesehen und im Folgenden erläutert.

Fehler 1: Setzen Sie identity_insert auf OFF

Im ersten Fall fügen wir Daten mit dem in die Tabelle ein 'IDENTITY INSERT' einstellen 'AUS' . Wenn die ID in der INSERT-Anweisung vorhanden ist, wird der Fehler angezeigt 'Es kann kein expliziter Wert für die Identitätsspalte in die Tabelle' Person 'eingefügt werden, wenn IDENTITY_INSERT auf OFF gesetzt ist.'

Führen Sie den folgenden Code auf der Registerkarte Abfrage aus.

Setzen Sie die Person identity_insert aus. In Person (ID, Vorname, Nachname) Werte einfügen (3, 'Sadia