Jak dodać klucz podstawowy auto_increment w bazie danych SQL Server?

Mam zestaw tabel, który obecnie nie ma klucza podstawowego. Wszystko, co muszę zrobić, to dodać klucz podstawowy, bez wartości null, auto_increment.

Pracuję z bazą danych Microsoft SQL Server. Rozumiem, że nie można tego zrobić w jednym poleceniu, ale każde polecenie, które próbuję, zwraca błędy składniowe. Utworzyłem klucz podstawowy, a nawet ustawiłem go jako inny niż null. Nie mogę jednak ustawić auto_increment.

Próbowałem w ten sposób:

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

1 odpowiedź

Można to zrobić za pomocą jednego polecenia. Musisz ustawić właściwość IDENTITY dla „auto number”:

ALTER TABLE MyTable ADD mytableID int NOT NULL IDENTITY (1,1) PRIMARY KEY

Dokładniej, aby ustawić nazwane ograniczenie na poziomie tabeli:

ALTER TABLE MyTable
   ADD MytableID int NOT NULL IDENTITY (1,1),
   CONSTRAINT PK_MyTable PRIMARY KEY CLUSTERED (MyTableID)

Twoja odpowiedź

Zaloguj się aby odpowiedzieć.

Operiada

Operiada to polskojęzyczne forum informatyczne działające na zasadzie pytań i odpowiedzi.

Obserwowane tagi

Zaloguj się aby obserwować tagi.