SQL server 2005中設(shè)置自動(dòng)編號(hào)字段的方法
如果希望重新定義在表中添加新記錄時(shí)該列中自動(dòng)生成并存儲(chǔ)于列中的序列號(hào),則可以更改該列的標(biāo)識(shí)屬性。在每個(gè)表中只能設(shè)置一個(gè)列的標(biāo)識(shí)屬性。
具有標(biāo)識(shí)屬性的列包含系統(tǒng)生成的連續(xù)值,該值唯一地標(biāo)識(shí)表中的每一行(例如,雇員標(biāo)識(shí)號(hào))。在包含標(biāo)識(shí)列的表中插入值時(shí),Microsoft SQL Server 將基于上一次使用的標(biāo)識(shí)值(標(biāo)識(shí)種子屬性)和在創(chuàng)建列時(shí)指定的增量值(標(biāo)識(shí)增量屬性)自動(dòng)生成下一個(gè)標(biāo)識(shí)符。
注意:
只能為不允許空值且數(shù)據(jù)類型為 decimal、int、numeric、smallint、bigint 或 tinyint 的列設(shè)置標(biāo)識(shí)屬性。此外,不能為主鍵列設(shè)置標(biāo)識(shí)屬性。
修改列的標(biāo)識(shí)屬性
1.在對(duì)象資源管理器中,右鍵單擊要更改其數(shù)據(jù)類型的列所在的表,再單擊“修改”。此時(shí),將在表設(shè)計(jì)器中打開(kāi)該表。
2.清除要更改的列的“允許空”復(fù)選框。
3.在“列屬性”選項(xiàng)卡中,展開(kāi)“標(biāo)識(shí)規(guī)范”屬性。
4.單擊“是標(biāo)識(shí)”子屬性的網(wǎng)格單元格,然后從下拉列表中選擇“是”。
5.在“標(biāo)識(shí)種子”單元格中鍵入值。此值將賦給表中的第一行。默認(rèn)情況下將賦值 1。
6.在“標(biāo)識(shí)增量”單元格中鍵入值。此值是基于“標(biāo)識(shí)種子”依次為每個(gè)后續(xù)行增加的增量。默認(rèn)情況下將賦值 1。
例如,假設(shè)要為添加到 orders 表的每行自動(dòng)生成 5 位 Order ID,從 10000 開(kāi)始并且每次遞增 10。為此,應(yīng)在“標(biāo)識(shí)種子”中鍵入 10000,在“標(biāo)識(shí)增量”中鍵入 10。
如果更改表的任何標(biāo)識(shí)屬性,則將保留現(xiàn)有的標(biāo)識(shí)值。新的設(shè)置值僅應(yīng)用于添加到表中的新行。
注意:
如果頻繁執(zhí)行刪除操作的表中存在標(biāo)識(shí)列,則標(biāo)識(shí)值之間會(huì)出現(xiàn)不連貫的情況。若要避免出現(xiàn)這種不連貫的情況,請(qǐng)不要使用標(biāo)識(shí)屬性。
當(dāng)您在網(wǎng)格單元格外單擊或使用 Tab 鍵移動(dòng)到其他網(wǎng)格單元格后,“標(biāo)識(shí)規(guī)范”屬性的新值將賦給表設(shè)計(jì)器中的列。當(dāng)您在表設(shè)計(jì)器中保存更改時(shí),這些值將在數(shù)據(jù)庫(kù)中生效。
1. 創(chuàng)建表時(shí)指定自動(dòng)編號(hào)的字段
CREATE TABLE [dbo].[UserInfor]( [UserID] [int] IDENTITY(100,2) NOT NULL, [UserName] [nchar](10) NOT NULL, )
說(shuō)明:創(chuàng)建一個(gè)用戶信息表UserInfor,并指定UserID為自動(dòng)編號(hào)字段。
其中:IDENTITY(100,2)表示字段的初始值為100,每次增量為2,如輸入數(shù)據(jù)后第一次為100,第二次為102。
2.獲取自動(dòng)編號(hào)的字段值

這里可以使用@@IDENTITY取得自動(dòng)增加字段主鍵的值
(3)重新設(shè)置自動(dòng)編號(hào)字段種子的起始值
如果用戶將帶有自動(dòng)增加字段的表內(nèi)容清空,由該字段的起始值將從原有的值開(kāi)始增加,可以通過(guò)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)識(shí)-->是-->標(biāo)識(shí)種子(初始值)-->標(biāo)識(shí)遞增量-->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)
相關(guān)文章
在WIN7下安裝和配置SQL Server 2005 Express Edition(精簡(jiǎn)版)
這篇文章主要介紹了在WIN7下安裝和配置SQL Server 2005 Express Edition(精簡(jiǎn)版),需要的朋友可以參考下2015-01-01
SQL Server 中 RAISERROR 的用法詳細(xì)介紹
這篇文章主要介紹了SQL Server 中 RAISERROR 的用法詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2016-11-11
SQL Server 2005“備份集中的數(shù)據(jù)庫(kù)備份與現(xiàn)有的數(shù)據(jù)庫(kù)不同”解決方法
SQL Server 2005“備份集中的數(shù)據(jù)庫(kù)備份與現(xiàn)有的數(shù)據(jù)庫(kù)不同”解決方法2009-07-07
無(wú)法在com+ 目錄中安裝和配置程序集 錯(cuò)誤:-2146233087的解決方法[已測(cè)]
最近從腳本之家下載sql2005的部分朋友反應(yīng)無(wú)法安裝sql2005,今天在安裝SQL Server2005時(shí)碰到了這個(gè)錯(cuò)誤,到網(wǎng)上搜了一下,找到了解決辦法,特記在這里,以備以后需要。2012-10-10
Sqlserver 2005使用XML一次更新多條記錄的方法
Sqlserver 2005使用XML一次更新多條記錄的方法,需要一次更新多條記錄的朋友可以參考下。2010-04-04
SQLServer 2005數(shù)據(jù)庫(kù)連接字符串 連接sql2005必備資料
現(xiàn)在好多朋友開(kāi)始用sqlserver 2005了,因?yàn)楦鷖ql2000有區(qū)別,所以這里整理了下,需要的朋友可以參考下。2010-04-04
SQL server 管理事務(wù)和數(shù)據(jù)庫(kù)介紹
用SQL server 處理數(shù)據(jù)庫(kù),主要就是和數(shù)據(jù)庫(kù)還有處理數(shù)據(jù)庫(kù)的事務(wù)打交道,如何管理好數(shù)據(jù)庫(kù)這個(gè)對(duì)象和處理數(shù)據(jù)庫(kù)的事務(wù)過(guò)程,是我們運(yùn)用好SQL server非常關(guān)鍵的一點(diǎn)2012-08-08
解析SQL2005中如何使用CLR函數(shù)獲取行號(hào)
本篇文章是對(duì)SQL2005中如何使用CLR函數(shù)獲取行號(hào)的實(shí)現(xiàn)代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06

