文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-04-02 19:55

关注

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

  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中怎么设置自动编号字段,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯