如何自动增加SQL Server数据库表中的主键?我已经通过论坛看了一下,但不知道如何做到这一点。
我看了房子的属性,但找不到选项。我看到了一个答案,你去到身份规范属性,并将其设置为“是”,并将身份增量设置为1,但该部分是灰色的,我不能将“否”更改为“是”。
一定有一个简单的方法来做到这一点,但我找不到。
如何自动增加SQL Server数据库表中的主键?我已经通过论坛看了一下,但不知道如何做到这一点。
我看了房子的属性,但找不到选项。我看到了一个答案,你去到身份规范属性,并将其设置为“是”,并将身份增量设置为1,但该部分是灰色的,我不能将“否”更改为“是”。
一定有一个简单的方法来做到这一点,但我找不到。
当前回答
我有这个问题,我已经创建了表,不能在不删除表的情况下更改它,所以我所做的是: (不确定他们什么时候实现的,但在SQL 2016中就有了)
右键单击对象资源管理器中的表:
脚本表> DROP和CREATE到>新的查询编辑器窗口
然后对Josien说的剧本进行编辑;滚动到CREATE TABLE所在的底部,找到你的主键,并将IDENTITY(1,1)附加到逗号前的末尾。运行脚本。
由于这个问题,DROP和CREATE脚本对我也很有帮助。(由生成的脚本处理。)
其他回答
您必须展开Identity部分以公开增量和种子。
编辑:我假设您的数据类型是整数,而不是char(10)。当我发布这个答案时,我想说哪个是合理的和有效的
您可以执行以下操作:新建表:
-- create new table with Column ID which is Primary Key and Auto Increment --
CREATE TABLE titles(
id INT NOT NULL IDENTITY(1,1) PRIMARY KEY, --Primary Key with Auto-Increment --
keyword VARCHAR(260),
status VARCHAR(10),
);
如果你的表已经存在,并且需要对ID列进行自动递增和主键的更改,那么请参见下面的内容:
ALTER TABLE table DROP COLUMN id; // drop the existing ID in the table
ALTER TABLE table ADD id int IDENTITY(1, 1) NOT NULL; // add new column ID with auto-increment
ALTER TABLE table ADD CONSTRAINT PK_ident_test PRIMARY KEY CLUSTERED (id); // make it primary key
在创建表时,可以使用关键字IDENTITY和PRIMARY KEY约束作为列的数据类型。 例:
StudentNumber IDENTITY(1,1) PRIMARY KEY
这里的第一个‘1’表示起始值,第二个‘1’表示递增值。
注意ID元素是否相邻。由于SQLSERVER ID可以跳跃1000。
例如:重启前ID=11 重新启动后,在表中插入新行,那么id将是1012。
我有这个问题,我已经创建了表,不能在不删除表的情况下更改它,所以我所做的是: (不确定他们什么时候实现的,但在SQL 2016中就有了)
右键单击对象资源管理器中的表:
脚本表> DROP和CREATE到>新的查询编辑器窗口
然后对Josien说的剧本进行编辑;滚动到CREATE TABLE所在的底部,找到你的主键,并将IDENTITY(1,1)附加到逗号前的末尾。运行脚本。
由于这个问题,DROP和CREATE脚本对我也很有帮助。(由生成的脚本处理。)