sqlserver2008自增
『壹』 sql Server 2008怎樣添加自增列實現自增序號
SQL 2008與以往版本的用法是一樣的。
--創建表時添加自增列,且從1開始
create table 表名
(id int identity(1,1) )
--給已存在的表添加自增列,且從1001開始,也可以從1開始
alter table 表名
add id int
identity(1001,1)
『貳』 sqlserver2008數據表中自增值不連續是否有影響
這類自增欄位是不會去補被刪除的記錄對應的ID的,就是說系統里記錄一個最大值,每次增加記錄都在這個值上增長,這類值在應用中不要去考慮讓其連續,因為要連續代價太大,相當於重建個表重新生成這個欄位值。
本質上自增的目的是唯一性 所以不連續是無所謂的
『叄』 求教在sqlserver2008中的表中怎麼添加一列自增的列
1、例如給某表添加一個Num自增列,這張表已經有很多行數據了,通過sqlserver表設計器,添加一個新欄位Num,如圖所示,
『肆』 SQL Server 2008怎樣添加自增列實現自增序號
Altertabletablename
addrec_idintIDENTITY(1,1)NOTFORREPLICATIONNOTNULL
上面是SQL Server 2008的新增語句
tablename 表名
rec_id 新增列名
IDENTITY(1,1) 自增序號從1開始,每次加1
解釋的應該很清楚了吧
『伍』 SQL Server 2008怎樣添加自增列實現自增序號
一、通過T-SQL代碼.
代碼如下:
alter table 表名 add 列名 int IDENTITY(1,1) NOT NULL
這里用到了identity關鍵字:indentity(a,b),a b均為正整數,a表示開始數,b表示步長,indentity(1,1)就代表從1開始,每次增加1
二、通過企業管理器
打開對象資源管理器,新建表,如下圖
『陸』 SQL Server 2008怎樣添加自增列實現自增序號
如果是現有的表,可以使用
altertable表名addsidintidentity(1,1);
語句來添加一個自增序列的欄位。如果是新表,創建表的時候指定是自增的就好了
createtable表名(
sidintidentity(1,1),
......
『柒』 sql server 2008中id如何設為自增
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 行受影響)
『捌』 sql server 2008如何自增列從001開始
序列都是數字的,無法從001開始,只能從1開始,也可以從100開始,就是無法從001開始。
如果需要001,可以自己建立一個表,自己維護這個增長,一般生成字元串的序號,都是這樣處理。
『玖』 sql server 2008如何自增列從001開始
這樣吧,再增加一個計算列,計算列從自增列映射過來
比如
create table #test1
(
Id int identity,
IdStr AS right('000'+CAST(Id AS varchar(50)),3) ,
a int
);
插入數據的時候只需要向a列插入數據就行了
insert into #test1(a) values(1);
insert into #test1(a) values(111);
結果中IdStr列就是從001開始自增,當然由於最多隻截取3位字元串,所以當數值到達999以後就會從000開始循環遞增了。