Wie kann ich den Primärschlüssel
in einer SQL Server
-Datenbanktabelle automatisch inkrementieren?
Ich habe mir die Eigenschaften angesehen, kann aber keine Option finden. Ich habe eine Antwort gesehen, in der Sie die Eigenschaft "Identität" auf "Ja" und "Identitätsinkrement" auf 1 setzen, aber dieser Abschnitt ist ausgegraut und ich kann "Nein" nicht auf "Ja" ändern.
Es muss einen einfachen Weg geben, dies zu tun, aber ich kann ihn nicht finden.
Vergewissern Sie sich, dass der Datentyp der Schlüsselspalte int
ist und setzen Sie dann die Identität manuell, wie das Bild zeigt
Oder führen Sie einfach diesen Code aus
-- ID is the name of the [to be] identity column
ALTER TABLE [yourTable] DROP COLUMN ID
ALTER TABLE [yourTable] ADD ID INT IDENTITY(1,1)
der Code wird ausgeführt, wenn "ID" nicht die einzige Spalte in der Tabelle ist
Bildreferenz fifo's
Wenn Sie die Tabelle erstellen, können Sie eine IDENTITY
Spalte wie folgt erstellen:
CREATE TABLE (
ID_column INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
...
);
Die Eigenschaft "IDENTITY" erhöht die Spalte automatisch ab Nummer 1. (Beachten Sie, dass der Datentyp der Spalte eine ganze Zahl sein muss.) Wenn Sie dies zu einer bestehenden Spalte hinzufügen wollen, verwenden Sie einen ALTER TABLE
Befehl.
Bearbeiten:
Ich habe ein wenig getestet und kann keine Möglichkeit finden, die Identitätseigenschaften über das Fenster Spalteneigenschaften für verschiedene Tabellen zu ändern. Ich schätze, wenn Sie eine Spalte zu einer Identitätsspalte machen wollen, MÜSSEN Sie einen ALTER TABLE
-Befehl verwenden.
Sie müssen den Abschnitt "Identität" erweitern, um Inkrement und Seed freizulegen.
Edit: Ich nahm an, dass Sie einen Integer-Datentyp haben, nicht char(10). Das ist vernünftig, würde ich sagen, und gültig, wenn ich diese Antwort gepostet