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 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. 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' Erstellen einer Tabelle mit dem Namen 'Person' Das “Identity_insert off | setzen auf' hilft uns, diesen Fehler zu beheben. Die korrekte Syntax für diese Anweisung lautet wie folgt. 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 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. 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.wenn IDENTITY_INSERT auf OFF gesetzt ist ” Wie nachfolgend dargestellt.
Datenbank- und Tabellenerstellung:
CREATE TABLE Person (ID INT IDENTITY (1, 1), Vorname VARCHAR (MAX), Nachname VARCHAR (MAX))
Syntax zum Setzen von “identity_insert off | auf':
SET IDENTITY_INSERT. .
AUF
ist die Tabelle mit der Identitätsspalte.
Fehler 1: Setzen Sie identity_insert auf OFF
Setzen Sie die Person identity_insert aus. In Person (ID, Vorname, Nachname) Werte einfügen (3, 'Sadia