Heim >Datenbank >MySQL-Tutorial >Wie verwalte ich IDENTITY_INSERT in SQL Server 2008?
Steuerung von IDENTITY_INSERT in SQL Server 2008
Das Einfügen von Daten in Tabellen mit Identitätsspalten in SQL Server 2008 erfordert manchmal das Überschreiben der automatischen Identitätswertgenerierung. Der Versuch einer direkten Einfügung mit einem angegebenen Wert, wenn IDENTITY_INSERT
deaktiviert ist, führt zu einem Fehler.
Um explizite Werte einzufügen, müssen Sie IDENTITY_INSERT
vorübergehend aktivieren. Dies geschieht mit dem folgenden T-SQL-Befehl:
<code class="language-sql">SET IDENTITY_INSERT DatabaseName.SchemaName.TableName ON;</code>
Ersetzen Sie DatabaseName
, SchemaName
und TableName
jeweils durch Ihre Datenbank-, Schema- und Tabellennamen.
Jetzt können Sie Daten mit einem angegebenen Wert für die Identitätsspalte einfügen:
<code class="language-sql">INSERT INTO YourTable (IdentityColumn, Column2, Column3, ...) VALUES (YourIdentityValue, Value2, Value3, ...);</code>
Denken Sie immer daran, IDENTITY_INSERT
zu deaktivieren, nachdem Ihre Einfügungen abgeschlossen sind:
<code class="language-sql">SET IDENTITY_INSERT YourTable OFF;</code>
Wenn Sie IDENTITY_INSERT
nicht deaktivieren, kann dies zu Inkonsistenzen und Fehlern führen.
Alternativ können Sie diese Einstellung über SQL Server Management Studio (SSMS) verwalten. Suchen Sie Ihre Tabelle im Objekt-Explorer, klicken Sie mit der rechten Maustaste, wählen Sie „Eigenschaften“, navigieren Sie zur Registerkarte „Identitätsspezifikation“ und aktivieren Sie „IDENTITY_INSERT zulassen“. Bedenken Sie jedoch, dass es sich hierbei um ein GUI-Äquivalent der T-SQL-Befehle handelt. Der zugrunde liegende Mechanismus bleibt derselbe. Die direkte T-SQL-Steuerung bietet mehr programmatische Flexibilität.
Das obige ist der detaillierte Inhalt vonWie verwalte ich IDENTITY_INSERT in SQL Server 2008?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!