sql server 2008中id如何设为自增

 我来答
wangzhiqing999
推荐于2016-07-25 · TA获得超过1.6万个赞
知道大有可为答主
回答量:7048
采纳率:100%
帮助的人:3336万
展开全部
SQL Server

通过 IDENTITY 来设置
参数有2个,一个是“初始值” 一个是“增量”。

默认情况下 INSERT 语句中,不能对 IDENTITY 的字段进行赋值。

1> CREATE TABLE test_create_tab2 (
2> id INT IDENTITY(1, 1) PRIMARY KEY,
3> val VARCHAR(10)
4> );
5> go

1> INSERT INTO test_create_tab2(val) VALUES ('NO id');
2> go

(1 行受影响)
1> INSERT INTO test_create_tab2(id, val) VALUES (6, 'id no use');
2> go
消息 544,级别 16,状态 1,服务器 HOME-BED592453C\SQLEXPRESS,第 1 行
当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'test_create_tab2' 中的标识列插入显式值。

1> INSERT INTO test_create_tab2(val) VALUES ('A');
2> INSERT INTO test_create_tab2(val) VALUES ('B');
3> INSERT INTO test_create_tab2(val) VALUES ('C');
4> INSERT INTO test_create_tab2(val) VALUES ('D');
5> go

1> SELECT * FROM test_create_tab2;
2> go
id val
----------- ----------
1 NO id
2 A
3 B
4 C
5 D

(5 行受影响)

-- 删除一个数据,造成数据不连续.
1> DELETE FROM test_create_tab2 WHERE id = 3;
2> go

(1 行受影响)

-- 允许将显式值插入表的标识列中
1> SET IDENTITY_INSERT test_create_tab2 ON
2> go
1> INSERT INTO test_create_tab2(id, val) VALUES (3, 'id is use');
2> go

(1 行受影响)

--不允许将显式值插入表的标识列中
1> SET IDENTITY_INSERT test_create_tab2 OFF
2> go
1> SELECT * FROM test_create_tab2;
2> go
id val
----------- ----------
1 NO id
2 A
3 id is use
4 C
5 D

(5 行受影响)
ann7788
2010-12-21 · TA获得超过499个赞
知道小有建树答主
回答量:359
采纳率:0%
帮助的人:310万
展开全部
语法
IDENTITY [ ( seed , increment ) ]

参数
seed

装载到表中的第一个行所使用的值。

increment

增量值,该值被添加到前一个已装载的行的标识值上。

必须同时指定种子和增量,或者二者都不指定。如果二者都未指定,则取默认值 (1,1)。

CREATE TABLE XY(A INT NOT NULL IDENTITY(1,1),B VARCHAR)

一个有标识列的表就建立好了,在我们插入数据时不需要关心A列,SQL会自动为它插入数据。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shown_james
推荐于2018-02-28 · TA获得超过873个赞
知道小有建树答主
回答量:665
采纳率:0%
帮助的人:629万
展开全部
设计器中点击列-表示规范-选择是-表示增量/表示种子,填1或者任何你需要的
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式