Wie entferne ich eine Identität vollständig
-
03-07-2019 - |
Frage
Ich setze derzeit zusammen einige Änderungen in unserem Datenmodell, das eine Spalte gehören zu wechseln (das passiert Teil des Primärschlüssels sein), so dass es nicht mehr eine Identität. Gibt es eine Möglichkeit, diesen kurzen tatsächlich zu löschen und neu die gesamte Spalte oder Tabelle zu tun? Der automatisch generierte Code aus SSMS genau das tut, aber ich frage mich, ob es vielleicht war eine einfachere Lösung.
Lösung
Sie können nicht die Eigenschaft Identität einer Spalte entfernen, ohne es zu Droping.
Mögliche Lösungsschritte sind:
(a) Fügen Sie eine neue Spalte
(b) Aktualisieren Sie die Spalte mit Identitätsspalten Wert
(c) Entfernen Sie die Identitätsspalte.
Alter Table Tablename Add newColumnname int
Update Table set newColumnname =IdentityColumn
Alter Table TableName Drop IdentityColumnName
Hinweis: Wenn Sie sprechen, um die Identität Eigenschaft für Vorerst prüfen Set IDENTITY_INSERT Tablename ON Command Ausschalten
Sinn?
Cheers, John