溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

SQLServer中怎么設(shè)置自動(dòng)編號(hào)字段

發(fā)布時(shí)間:2021-08-06 14:03:26 來(lái)源:億速云 閱讀:280 作者:Leah 欄目:數(shù)據(jù)庫(kù)

本篇文章給大家分享的是有關(guān)SQLServer中怎么設(shè)置自動(dòng)編號(hào)字段,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。

  SQLServer2005和Access怎么設(shè)置自動(dòng)編號(hào)字段

  具體步驟如下:

  ①像Access中的自動(dòng)編號(hào)字段。

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

 ?、谟肐DENTITY(SEED,INCREMENT)參數(shù)

  seed-啟始值increment-增量CREATETABLE表名(你的IDIDENTITY(1,1)NOTNULL,你的其他字段...)CREATETABLE表名(你的字段IDAUTOINCREMENT(1000,10),其他字段...)

 ?、坌薷钠鹗贾岛筒竭M(jìn)值

  ALTERTABLE表名ALTERCOLUMN你的字段IDCOUNTER(2000,50)

  ④讓一個(gè)刪空的表自動(dòng)增加字段的開(kāi)始值重新從1開(kāi)始

  ALTERTABLE表名ALTERCOLUMN你的字段IDCOUNTER(1,1)

  上述3、4只適用與Access,COUNTER為其一種數(shù)據(jù)類型,可以在Access中指定一不是自動(dòng)編號(hào)的字段為自動(dòng)編號(hào)字段,也可以讓一自動(dòng)編號(hào)字段重新從指定值按指定步長(zhǎng)自動(dòng)編號(hào)。但是假如表中有數(shù)據(jù),用戶不能用該語(yǔ)句來(lái)將該列的數(shù)據(jù)類型改變?yōu)镃OUNTER數(shù)據(jù)類型。對(duì)于SQLServer并不支持。

  對(duì)于SQLServer我們或許總希望用AlterTable表名AlterColumn你的字段IDENTITY(1,1)來(lái)指定字段重新從1開(kāi)始計(jì)數(shù),但是這句話本身是錯(cuò)誤的,好長(zhǎng)時(shí)間我也疑惑為什么這句話不能執(zhí)行。假如我們看看MS對(duì)AlterTable語(yǔ)句的定義就清楚了,這句話根本是錯(cuò)誤的。下面是MS對(duì)AlterTable語(yǔ)句的定義。

  SQLServer2005和Access怎么設(shè)置自動(dòng)編號(hào)字段

  ALTERTABLEtable{[ALTERCOLUMNcolumn_name{new_data_type[(precision[,scale])][COLLATE][NULL|NOTNULL]|{ADD|DROP}ROWGUIDCOL}]|ADD{[]|column_nameAScomputed_column_expression}[,n]|[WITHCHECK|WITHNOCHECK]ADD{}[,n]|DROP{[CONSTRAINT]constraint_name|COLUMNcolumn}[,n]|{CHECK|NOCHECK}CONSTRAINT{ALL|constraint_name[,n]}|{ENABLE|DISABLE}TRIGGER{ALL|trigger_name[,n]}}::={column_namedata_type}[[DEFAULTconstant_expression][WITHVALUES]|[IDENTITY[(seed,increment)[NOTFORREPLICATION]]]][ROWGUIDCOL][COLLATE][][n]::=[CONSTRAINTconstraint_name]{[NULL|NOTNULL]|[{PRIMARYKEY|UNIQUE}[CLUSTERED|NONCLUSTERED][WITHFILLFACTOR=fillfactor][ON{filegroup|DEFAULT}]]|[[FOREIGNKEY]REFERENCESref_table[(ref_column)][ONDELETE{CASCADE|NOACTION}][ONUPDATE{CASCADE|NOACTION}][NOTFORREPLICATION]]|CHECK[NOTFORREPLICATION](logical_expression)}::=[CONSTRAINTconstraint_name]{[{PRIMARYKEY|UNIQUE}[CLUSTERED|NONCLUSTERED]{(column[,n])}[WITHFILLFACTOR=fillfactor][ON{filegroup|DEFAULT}]]|FOREIGNKEY[(column[,n])]REFERENCESref_table[(ref_column[,n])][ONDELETE{CASCADE|NOACTION}][ONUPDATE{CASCADE|NOACTION}][NOTFORREPLICATION]|DEFAULTconstant_expression[FORcolumn][WITHVALUES]|CHECK[NOTFORREPLICATION](search_conditions)}

  可以看到,IDENTITY只是在中,也就是說(shuō),我們可以這樣使用:AlterTable表名Add字段名IntIDENTITY(1,1)即,我們可以增加一個(gè)字段并指定它為自動(dòng)編號(hào)字段。但是不能更改一個(gè)字段為自動(dòng)編號(hào)字段(也或許我沒(méi)找到方法)。即,假如我們想給表增加自動(dòng)編號(hào)字段,只能使用添加字段的方法,而不能更改一個(gè)已有的字段為自動(dòng)編號(hào)字段。

  至于假如需要更改自動(dòng)編號(hào)字段計(jì)數(shù)起始值可以使用DBCC命令:DBCCCHECKIDENT(表名,RESEED,100),自動(dòng)編號(hào)字段下一個(gè)從101開(kāi)始計(jì)。

以上就是SQLServer中怎么設(shè)置自動(dòng)編號(hào)字段,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI