SQLServer中怎么设置自动编号字段

55次阅读
没有评论

共计 2332 个字符,预计需要花费 6 分钟才能阅读完成。

本篇文章给大家分享的是有关 SQLServer 中怎么设置自动编号字段,丸趣 TV 小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着丸趣 TV 小编一起来看看吧。

SQLServer2005 和 Access 怎么设置自动编号字段

具体步骤如下:

①像 Access 中的自动编号字段。

右键你的表 – 设计表 – 找到你的 id 字段 (类 int 型)– 标识 – 是 – 标识种子 (初始值)– 标识递增量 – OK。

②用 IDENTITY(SEED,INCREMENT) 参数

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

③修改起始值和步进值

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

④让一个删空的表自动增加字段的开始值重新从 1 开始

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

上述 3、4 只适用与 Access,COUNTER 为其一种数据类型,可以在 Access 中指定一不是自动编号的字段为自动编号字段,也可以让一自动编号字段重新从指定值按指定步长自动编号。但是假如表中有数据,用户不能用该语句来将该列的数据类型改变为 COUNTER 数据类型。对于 SQLServer 并不支持。

对于 SQLServer 我们或许总希望用 AlterTable 表名 AlterColumn 你的字段 IDENTITY(1,1) 来指定字段重新从 1 开始计数,但是这句话本身是错误的,好长时间我也疑惑为什么这句话不能执行。假如我们看看 MS 对 AlterTable 语句的定义就清楚了,这句话根本是错误的。下面是 MS 对 AlterTable 语句的定义。

SQLServer2005 和 Access 怎么设置自动编号字段

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 只是在中,也就是说,我们可以这样使用:AlterTable 表名 Add 字段名 IntIDENTITY(1,1) 即,我们可以增加一个字段并指定它为自动编号字段。但是不能更改一个字段为自动编号字段 (也或许我没找到方法)。即,假如我们想给表增加自动编号字段,只能使用添加字段的方法,而不能更改一个已有的字段为自动编号字段。

至于假如需要更改自动编号字段计数起始值可以使用 DBCC 命令:DBCCCHECKIDENT(表名,RESEED,100),自动编号字段下一个从 101 开始计。

以上就是 SQLServer 中怎么设置自动编号字段,丸趣 TV 小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注丸趣 TV 行业资讯频道。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-03发表,共计2332字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)