Wie füge ich einen Primärschlüssel auto_increment in der SQL Server-Datenbank hinzu?
Habe ich eine Tabelle eingerichtet, in der aktuell kein Primärschlüssel. Alles, was ich zu tun ist, fügen Sie ein primary key, no null, auto_increment
.
Arbeite ich mit einem Microsoft SQL Server
Datenbank. Ich verstehe, dass es nicht getan werden kann in einem einzigen Befehl, aber jeder Befehl, den ich versuchen hält, Rückgabe syntax-Fehler.
Bearbeiten ---------------
Habe ich erstellt, die Primärschlüssel und sogar festlegen, Sie als not null. Allerdings kann ich nicht einrichten, die auto_increment
.
Ich versucht habe:
ALTER TABLE tableName MODIFY id NVARCHAR(20) auto_increment
ALTER TABLE tableName ALTER COLUMN id NVARCHAR(20) auto_increment
ALTER TABLE tableName MODIFY id NVARCHAR(20) auto_increment
ALTER TABLE tableName ALTER COLUMN id NVARCHAR(20) auto_increment
Ich bin mit NVARCHAR
denn es würde nicht lassen Sie mich NOT NULL
unter int
InformationsquelleAutor der Frage dcp3450 | 2011-07-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es kann getan werden, in einem einzigen Befehl. Müssen Sie die IDENTITY-Eigenschaft für "auto-Nummer":
Genauer gesagt, mit dem Namen table-level-constraint:
Sehen ALTER TABLE und IDENTITÄT auf MSDN
InformationsquelleAutor der Antwort gbn
Wenn die Tabelle bereits Daten enthält, und Sie möchten, ändern Sie eine der Spalten, um die Identität:
Erstellen Sie zunächst eine neue Tabelle mit den gleichen Spalten und geben Sie die primary key-kolumn:
Dann kopieren Sie alle Zeilen aus der ursprünglichen Tabelle in die neue Tabelle mit einem standard -
insert
- Anweisung.Löschen Sie dann die ursprüngliche Tabelle.
Und schließlich umbenennen
TempTable
immer du willst mitsp_rename
:http://msdn.microsoft.com/en-us/library/ms188351.aspx
InformationsquelleAutor der Antwort Andreas Ågren
Können Sie auch ausführen dieser Aktion über SQL Server Management Studio.
Dann in der Zukunft, wenn Sie möchten, können Sie einfach das Skript diese Art der Sache können Sie mit der rechten Maustaste auf die Tabelle, die Sie gerade geändert haben, und wählen Sie
so dass Sie selbst sehen können, die richtige syntax zum ausführen dieser Aktion.
InformationsquelleAutor der Antwort ChrisCamp
Wenn Sie die Spalte ist es sehr einfach.
Mithilfe des Designers, können Sie die Spalte als identity (1,1): Rechtsklick auf die Tabelle → design → im linken Teil (Rechte Maustaste) → Eigenschaften → im identity-Spalten, wählen Sie # - Spalte.
Eigenschaften:
Identity-Spalte:
InformationsquelleAutor der Antwort gustavo herrera
In SQL Server 2008:
InformationsquelleAutor der Antwort Chandan Deb
können Sie versuchen, diese...
ALTER TABLE Your_Table
HINZUFÜGEN table_ID int not NULL PRIMARY KEY auto_increment;
InformationsquelleAutor der Antwort Wayne Salazar