Как установить начальное значение для auto_increment в SQL - PullRequest
0 голосов
/ 15 апреля 2019

Я новичок в синтаксисе SQL, поэтому мне интересно, как установить значение identity(auto_increment) для существующего столбца.

Для MySQL это:

ALTER TABLE users AUTO_INCREMENT = 1001;

Так что в основном мне нужноэквивалент этой команды для SQL (MS SQL Studio).

Ответы [ 2 ]

4 голосов
/ 15 апреля 2019

Вам нужно что-то вроде этого:

ALTER TABLE users Add UserId INT NOT NULL IDENTITY(1001, 1)

Кроме того, если это существующий столбец, вам может потребоваться создать новый столбец, как указано выше, без NOT NULL, вставить значения с IDENTITYINSERT установите в значение true, удалите старый столбец, а затем вы можете переименовать новый столбец в старое имя столбца и настроить любые индексы, которые могли там быть, так как я не верю, что вы можете изменить существующий столбец на столбец идентификации.

3 голосов
/ 15 апреля 2019

Когда вы определяете столбец идентификаторов, вы можете установить начальное значение и приращение:

create table t (
    id int identity(100, 1) primary key,
    . . .
);

Чтобы установить его для существующего столбца:

dbcc checkident ('t', reseed, 100);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...