您好,登錄后才能下訂單哦!
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ì)億速云的支持。
免責(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)容。