如何自动增加SQL Server数据库表中的主键?我已经通过论坛看了一下,但不知道如何做到这一点。

我看了房子的属性,但找不到选项。我看到了一个答案,你去到身份规范属性,并将其设置为“是”,并将身份增量设置为1,但该部分是灰色的,我不能将“否”更改为“是”。

一定有一个简单的方法来做到这一点,但我找不到。


当前回答

当你使用Data Type: int时,你可以选择你想要自动递增的行,然后转到列属性标签。在这里,您可以将身份设置为“yes”。自动递增的起始值也可以在那里编辑。希望我能帮上忙;)

其他回答

您必须展开Identity部分以公开增量和种子。

编辑:我假设您的数据类型是整数,而不是char(10)。当我发布这个答案时,我想说哪个是合理的和有效的

确保Key列的数据类型是int,然后手动设置identity,如图所示

或者只运行这段代码

-- 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)

如果ID不是表中唯一的列,代码将运行

图像引用先进先出

注意ID元素是否相邻。由于SQLSERVER ID可以跳跃1000。

例如:重启前ID=11 重新启动后,在表中插入新行,那么id将是1012。

当你使用Data Type: int时,你可以选择你想要自动递增的行,然后转到列属性标签。在这里,您可以将身份设置为“yes”。自动递增的起始值也可以在那里编辑。希望我能帮上忙;)

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

MS SQL Server使用IDENTITY关键字执行自动增量特性。

在上面的例子中,IDENTITY的起始值是1,每增加一条新记录,它都会加1。

提示:要指定“Personid”列应该从值10开始,并增加5,请将其更改为IDENTITY(10,5)。

要向"Persons"表中插入一条新记录,我们不需要为"Personid"列指定一个值(一个唯一的值会自动添加):