在SQL表中自动增加主键

sam*_*114 56 ssms sql-server-2008

使用Sql Express Management Studio 2008 GUI(不带编码),如何使主键自动递增?

让我解释一下:有一个表有一个名为"id"的列,并且该列的项目被设置为主键.我想让这个列自动递增,但是如何?

干杯

Chr*_*ver 108

  1. 大概你是在设计表.如果不是:右键单击表名 - " 设计 ".
  2. 单击所需的列.
  3. 在" 列属性 "(在底部),滚动到" 标识规范 "部分,展开它,然后将" (Is Identity) " 切换为" ".

在此输入图像描述


Wil*_*l A 10

右键单击SSMS中的表,"设计"它,然后单击id列.在属性中,将标识设置为种子@ eg 1并增加1 - 保存并完成.


and*_*rej 10

虽然以下不是在GUI中执行此操作但您可以使用IDENTITY数据类型(start,increment)自动增量:

CREATE TABLE "dbo"."TableName"
(
   id int IDENTITY(1,1) PRIMARY KEY NOT NULL,
   name varchar(20),
);
Run Code Online (Sandbox Code Playgroud)

insert语句应列出除id列之外的所有列(它将填充自动增量值):

INSERT INTO "dbo"."TableName" (name) VALUES ('alpha');
INSERT INTO "dbo"."TableName" (name) VALUES ('beta');
Run Code Online (Sandbox Code Playgroud)

和结果

SELECT id, name FROM "dbo"."TableName";
Run Code Online (Sandbox Code Playgroud)

将会

id    name
--------------------------
1     alpha
2     beta
Run Code Online (Sandbox Code Playgroud)


Cam*_*ium 6

我在这台机器上没有Express Management Studio,所以我将基于内存.我认为您需要将列设置为"IDENTITY",并且在可以展开的属性下应该有[+],并将自动增量设置为true.


maz*_*ami 6

对于那些有问题的人,如果根据以下答案更改后仍然没有让你保存,请执行以下操作:

工具 - >选项 - >设计器 - >表和数据库设计器 - >取消选中"阻止保存需要重新创建表的更改"框 - >确定

并尝试保存它现在应该工作