如何在SQL中为auto_increment设置初始值

时间:2019-04-15 12:39:48

标签: sql sql-server

对于SQL语法,我还很陌生,所以我想知道如何为现有列设置identity(auto_increment)的值。

对于MySQL,它是:

ALTER TABLE users AUTO_INCREMENT = 1001;

因此,基本上,我需要使用与SQL(MS SQL Studio)相同的命令。

2 个答案:

答案 0 :(得分:4)

您需要遵循以下原则:

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

此外,如果这是现有的列,则可能需要创建不具有NOT NULL的上述新列,插入IDENTITY INSERT设置为true的值,删除旧列,然后可以重命名新列更改为旧列名称,并设置可能存在的所有索引,因为我认为您不能将现有列更改为标识列。

答案 1 :(得分:3)

定义标识列时,可以设置初始值和增量:

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

要将其设置为现有列:

dbcc checkident ('t', reseed, 100);