溫馨提示×

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

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

SQLServer2000中怎么得到自動(dòng)編號(hào)字段

發(fā)布時(shí)間:2021-07-26 11:18:48 來(lái)源:億速云 閱讀:320 作者:Leah 欄目:數(shù)據(jù)庫(kù)

SQLServer2000中怎么得到自動(dòng)編號(hào)字段,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

  SQLServer2000中設(shè)計(jì)表時(shí)如何得到自動(dòng)編號(hào)字段

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

  右鍵你的表-->設(shè)計(jì)表-->找到你的id字段(類(lèi)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),其他字段...)

  ③修改起始值和步進(jìn)值

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

 ?、茏屢粋€(gè)刪空的表自動(dòng)增加字段的開(kāi)始值重新從1開(kāi)始

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

  上述34只適用與Access,COUNTER為其一種數(shù)據(jù)類(lèi)型,可以在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ù)類(lèi)型改變?yōu)镃OUNTER數(shù)據(jù)類(lèi)型。對(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ǔ)句的定義。

  SQLServer2000中設(shè)計(jì)表時(shí)如何得到自動(dòng)編號(hào)字段

  以下為引用的內(nèi)容:

  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ì)。

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向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