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)