佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > SQL server 2005中設(shè)置自動(dòng)編號字段的方法

SQL server 2005中設(shè)置自動(dòng)編號字段的方法

熱門標(biāo)簽:網(wǎng)站排名優(yōu)化 百度競價(jià)排名 地方門戶網(wǎng)站 呼叫中心市場需求 鐵路電話系統(tǒng) AI電銷 Linux服務(wù)器 服務(wù)外包

如果希望重新定義在表中添加新記錄時(shí)該列中自動(dòng)生成并存儲(chǔ)于列中的序列號,則可以更改該列的標(biāo)識屬性。在每個(gè)表中只能設(shè)置一個(gè)列的標(biāo)識屬性。
具有標(biāo)識屬性的列包含系統(tǒng)生成的連續(xù)值,該值唯一地標(biāo)識表中的每一行(例如,雇員標(biāo)識號)。在包含標(biāo)識列的表中插入值時(shí),Microsoft SQL Server 將基于上一次使用的標(biāo)識值(標(biāo)識種子屬性)和在創(chuàng)建列時(shí)指定的增量值(標(biāo)識增量屬性)自動(dòng)生成下一個(gè)標(biāo)識符。

注意:

只能為不允許空值且數(shù)據(jù)類型為 decimal、int、numeric、smallint、bigint 或 tinyint 的列設(shè)置標(biāo)識屬性。此外,不能為主鍵列設(shè)置標(biāo)識屬性。

修改列的標(biāo)識屬性

1.在對象資源管理器中,右鍵單擊要更改其數(shù)據(jù)類型的列所在的表,再單擊“修改”。此時(shí),將在表設(shè)計(jì)器中打開該表。
2.清除要更改的列的“允許空”復(fù)選框。
3.在“列屬性”選項(xiàng)卡中,展開“標(biāo)識規(guī)范”屬性。
4.單擊“是標(biāo)識”子屬性的網(wǎng)格單元格,然后從下拉列表中選擇“是”。
5.在“標(biāo)識種子”單元格中鍵入值。此值將賦給表中的第一行。默認(rèn)情況下將賦值 1。
6.在“標(biāo)識增量”單元格中鍵入值。此值是基于“標(biāo)識種子”依次為每個(gè)后續(xù)行增加的增量。默認(rèn)情況下將賦值 1。

例如,假設(shè)要為添加到 orders 表的每行自動(dòng)生成 5 位 Order ID,從 10000 開始并且每次遞增 10。為此,應(yīng)在“標(biāo)識種子”中鍵入 10000,在“標(biāo)識增量”中鍵入 10。
如果更改表的任何標(biāo)識屬性,則將保留現(xiàn)有的標(biāo)識值。新的設(shè)置值僅應(yīng)用于添加到表中的新行。

注意:

如果頻繁執(zhí)行刪除操作的表中存在標(biāo)識列,則標(biāo)識值之間會(huì)出現(xiàn)不連貫的情況。若要避免出現(xiàn)這種不連貫的情況,請不要使用標(biāo)識屬性。

當(dāng)您在網(wǎng)格單元格外單擊或使用 Tab 鍵移動(dòng)到其他網(wǎng)格單元格后,“標(biāo)識規(guī)范”屬性的新值將賦給表設(shè)計(jì)器中的列。當(dāng)您在表設(shè)計(jì)器中保存更改時(shí),這些值將在數(shù)據(jù)庫中生效。

1. 創(chuàng)建表時(shí)指定自動(dòng)編號的字段

CREATE TABLE [dbo].[UserInfor](
 [UserID] [int] IDENTITY(100,2) NOT NULL,
 [UserName] [nchar](10) NOT NULL,
) 

說明:創(chuàng)建一個(gè)用戶信息表UserInfor,并指定UserID為自動(dòng)編號字段。
其中:IDENTITY(100,2)表示字段的初始值為100,每次增量為2,如輸入數(shù)據(jù)后第一次為100,第二次為102。

2.獲取自動(dòng)編號的字段值

這里可以使用@@IDENTITY取得自動(dòng)增加字段主鍵的值

(3)重新設(shè)置自動(dòng)編號字段種子的起始值

如果用戶將帶有自動(dòng)增加字段的表內(nèi)容清空,由該字段的起始值將從原有的值開始增加,可以通過DBCC命令重新設(shè)置起始值。
DBCC CHECKIDENT (UserInfor,RESEED,0)
將UserInfor表的自動(dòng)增加字段種子起始值設(shè)置為0,插入一條數(shù)據(jù)后自動(dòng)字段的值為0+增量,如增量為1,則值為1

----------------------------------------------
右鍵你的表-->設(shè)計(jì)表-->找到你的id字段(類int型)-->標(biāo)識-->是-->標(biāo)識種子(初始值)-->標(biāo)識遞增量-->OK
---------------------------------

create table mytest 
( 
id int primary key identity(1,1),--主鍵,自動(dòng)+1 
name varchar(20) unique not null,--不允許重復(fù),不允許為空 
Age tinyint, 
notetime smalldatetime default getdate() 
) 

insert into mytest values ('張三',20,getdate()) 
insert into mytest (name,age)values ('李四',20) 

您可能感興趣的文章:
  • 推薦SQL Server 重新恢復(fù)自動(dòng)編號列的序號的sql代碼
  • SQL Server 不刪除信息重新恢復(fù)自動(dòng)編號列的序號的方法
  • sqlserver 觸發(fā)器學(xué)習(xí)(實(shí)現(xiàn)自動(dòng)編號)
  • 使用SQL Server 獲取插入記錄后的ID(自動(dòng)編號)
  • 八步解決ACCESS自動(dòng)編號問題(將SQL SERVER 2000數(shù)據(jù)庫,轉(zhuǎn)換為ACCESS數(shù)據(jù)庫)

標(biāo)簽:蘭州 黃山 崇左 衡水 仙桃 湖南 湘潭 銅川

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《SQL server 2005中設(shè)置自動(dòng)編號字段的方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    岑巩县| 伊宁县| 芦溪县| 临泽县| 黔南| 灵石县| 金华市| 淮安市| 西城区| 东乌| 喀喇| 水城县| 洪泽县| 新余市| 军事| 黄大仙区| 舒城县| 广安市| 当涂县| 江源县| 黄石市| 叙永县| 丘北县| 台中县| 阿拉善右旗| 托里县| 八宿县| 宜宾县| 洪湖市| 宁夏| 自贡市| 绿春县| 吉安市| 府谷县| 安庆市| 平远县| 漳浦县| 临湘市| 榆树市| 精河县| 修水县|