584 Stimmen

Automatisches Erhöhen des Primärschlüssels in SQL Server Management Studio 2012

Wie kann ich auto increment その primary key in einem SQL Server Datenbanktabelle? Ich habe mich im Forum umgesehen, aber ich kann nicht erkennen, wie man das macht.

Ich habe mir die Eigenschaften angesehen, kann aber keine Option finden. Ich habe eine Antwort gesehen, in der Sie zu den Identity Spezifikationseigenschaft und setzen Sie sie auf ja und setzen Sie die Identity increment a 1 aber dieser Abschnitt ist ausgegraut und ich kann die Einstellungen nicht ändern. keine a .

Es muss eine einfache Möglichkeit geben, dies zu tun, aber ich kann sie nicht finden.

883voto

Raab Punkte 33642

Stellen Sie sicher, dass der Datentyp der Spalte Key int und dann die Identität manuell einstellen, wie das Bild zeigt

enter image description here

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)

wird der Code ausgeführt, wenn ID ist nicht die einzige Spalte in der Tabelle

Bildreferenz-Fifo's

262voto

Josien Punkte 11891

Wenn Sie die Tabelle erstellen, können Sie eine IDENTITY Spalte wie folgt:

CREATE TABLE (
  ID_column INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
  ...
);

En IDENTITY Eigenschaft wird die Spalte automatisch von Nummer 1 an aufwärts inkrementiert. (Beachten Sie, dass der Datentyp der Spalte eine Ganzzahl sein muss.) Wenn Sie dies zu einer bestehenden Spalte hinzufügen möchten, verwenden Sie eine ALTER TABLE Befehl.

Edita:
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 denke, wenn man eine Spalte zu einer Identitätsspalte machen will, MUSS man eine ALTER TABLE Befehl.

102voto

gbn Punkte 407102

Sie müssen den Abschnitt "Identität" erweitern, um Inkrement und Seed freizulegen.

enter image description here

Bearbeiten: Ich nahm an, dass Sie einen Integer-Datentyp, nicht char(10) haben würden. Das ist vernünftig, würde ich sagen, und gültig, wenn ich diese Antwort gepostet

48voto

FIFO BIZSOL Punkte 709

Erweitern Sie Ihre Datenbank, erweitern Sie Ihre Tabelle, klicken Sie mit der rechten Maustaste auf Ihre Tabelle und wählen Sie Entwurf aus der Dropdown-Liste. ITlooks like this

Jetzt gehen Spalteneigenschaften Unterhalb davon finden Sie Spezifikation der Identität , erweitern Sie es und Sie werden finden Ist Identität Machen Sie es Ja. Wählen Sie nun Identitätsinkrement direkt darunter geben Sie den Wert an, den Sie erhöhen wollen. enter image description here

19voto

Abd Abughazaleh Punkte 2696
CREATE TABLE Persons (
    Personid int IDENTITY(1,1) PRIMARY KEY,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int
);

Der MS SQL Server verwendet das IDENTITY-Schlüsselwort, um eine Auto-Increment-Funktion durchzuführen.

Im obigen Beispiel ist der Startwert für IDENTITY 1, und er wird für jeden neuen Datensatz um 1 erhöht.

Tipp: Um anzugeben, dass die Spalte "Personid" mit dem Wert 10 beginnen und um 5 erhöht werden soll, ändern Sie sie in IDENTITY(10,5).

Um einen neuen Datensatz in die Tabelle "Personen" einzufügen, müssen wir KEINEN Wert für die Spalte "Personid" angeben (ein eindeutiger Wert wird automatisch hinzugefügt):

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X