自动增加SQL表中的主键
使用Sql Express Management Studio 2008 GUI(不是编码),我如何使主键自动递增?
让我来解释一下:有一个名为“id”的列表,这个列的项目被设置为主键。 我想让这个列自动递增,但是如何?
干杯
- 想必你是在桌子的devise。 如果没有,请右键单击表格名称 – “ devise ”。
- 点击所需的列。
- 在“ 列属性 ”(在底部),滚动到“ 标识规范 ”部分,展开它,然后切换“ (是身份) ”为“ 是 ”。
右键单击SSMS中的表格,“devise”它,然后单击ID列。 在属性中,设置种子的身份@例如1,并增加1 – 保存,你就完成了。
虽然以下方法不能在GUI中完成,但只需使用IDENTITY数据types(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
我没有在这台机器上的快速pipe理工作室,所以我要基于内存。 我认为你需要将列设置为“IDENTITY”,并且应该有一个[+]属性,您可以在其中扩展,并将自动增量设置为true。
对于那些有问题的人,如果根据下面的答案改变它仍然不能保存,请执行以下操作:
工具 – >选项 – >devise人员 – >表格和数据库devise人员 – >取消选中“防止保存需要重新创build表格的更改”框 – >确定
并尝试保存,因为它应该现在工作
我认为在这样的定义阶段有办法做到这一点
创build表的雇员(ID INT身份,名称varchar(50),主键(ID))..我想看看是否有一种方法来改变现有的表,并将列作为身份这从理论上看起来不可能因为现有的价值可能需要修改)