如何自动增加SQL Server数据库表中的主键?我已经通过论坛看了一下,但不知道如何做到这一点。
我看了房子的属性,但找不到选项。我看到了一个答案,你去到身份规范属性,并将其设置为“是”,并将身份增量设置为1,但该部分是灰色的,我不能将“否”更改为“是”。
一定有一个简单的方法来做到这一点,但我找不到。
如何自动增加SQL Server数据库表中的主键?我已经通过论坛看了一下,但不知道如何做到这一点。
我看了房子的属性,但找不到选项。我看到了一个答案,你去到身份规范属性,并将其设置为“是”,并将身份增量设置为1,但该部分是灰色的,我不能将“否”更改为“是”。
一定有一个简单的方法来做到这一点,但我找不到。
当前回答
也许我遗漏了一些东西,但为什么这对SEQUENCE对象不起作用?这不是你想要的吗?
例子:
CREATE SCHEMA blah.
GO
CREATE SEQUENCE blah.blahsequence
START WITH 1
INCREMENT BY 1
NO CYCLE;
CREATE TABLE blah.de_blah_blah
(numbers bigint PRIMARY KEY NOT NULL
......etc
当在INSERT命令中引用序列时,只需使用:
NEXT VALUE FOR blah.blahsequence
SEQUENCE的更多信息和选项
其他回答
确保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不是表中唯一的列,代码将运行
图像引用先进先出
您必须展开Identity部分以公开增量和种子。
编辑:我假设您的数据类型是整数,而不是char(10)。当我发布这个答案时,我想说哪个是合理的和有效的
当你使用Data Type: int时,你可以选择你想要自动递增的行,然后转到列属性标签。在这里,您可以将身份设置为“yes”。自动递增的起始值也可以在那里编辑。希望我能帮上忙;)
创建表时,可以创建IDENTITY列,如下所示:
CREATE TABLE (
ID_column INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
...
);
IDENTITY属性将自动从第1列开始递增。(请注意,列的数据类型必须是整数。)如果要将其添加到现有列,请使用ALTER TABLE命令。
编辑: 测试了一点,我找不到一种方法来改变身份属性通过列属性窗口为各种表。我想如果你想让一个列成为一个标识列,你必须使用ALTER TABLE命令。
展开你的数据库,展开你的表右键单击你的表,从下拉菜单中选择设计。
现在点击下面的列属性,向下滚动,找到标识规范,展开它,你会发现标识为Yes。现在选择它正下方的单位增量,给出你想要增加的值。