使用Sql Express Management Studio 2008 GUI(不带编码),如何使主键自动递增?
让我解释一下:有一个表有一个名为“id”的列,该列的项目被设置为主键。我想让这个列自动递增,但是如何?
干杯
答案 0 :(得分:104)
答案 1 :(得分:10)
右键单击SSMS中的表,“设计”它,然后单击id列。在属性中,设置要播种的标识@例如1并且增加1 - 保存并完成。
答案 2 :(得分:9)
虽然在GUI中无法执行以下操作,但您可以使用IDENTITY数据类型(start,increment)自动增量:
CREATE TABLE "dbo"."TableName"
(
id int IDENTITY(1,1) PRIMARY KEY NOT NULL,
name varchar(20),
);
insert语句应列出除id列之外的所有列(它将填充自动增量值):
INSERT INTO "dbo"."TableName" (name) VALUES ('alpha');
INSERT INTO "dbo"."TableName" (name) VALUES ('beta');
和
的结果SELECT id, name FROM "dbo"."TableName";
将是
id name
--------------------------
1 alpha
2 beta
答案 3 :(得分:6)
我在这台机器上没有Express Management Studio,因此我将基于内存。我认为您需要将列设置为“IDENTITY”,并且在可以展开的属性下应该有[+],并将自动增量设置为true。
答案 4 :(得分:6)
对于那些有问题的人,如果根据以下答案更改后仍然没有让你保存,请执行以下操作:
工具 - >选项 - >设计师 - >表和数据库设计者 - >取消选中“阻止保存需要重新创建表格的更改”框 - >行
并尝试保存,因为它应该立即工作
答案 5 :(得分:0)
我认为有一种方法可以在定义阶段这样做
创建表员工( id int identity, name varchar(50), 主键(id) ).. 我试图看看是否有办法改变现有的表并将列作为Identity在理论上看起来不可能(因为现有值可能需要修改)