SQLServer2000中怎么得到自动编号字段
创始人
2024-12-19 08:40:59
0次

  SQLServer2000中设计表时如何得到自动编号字段

  ①像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)

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

  对于SQLServer我们或许总希望用AlterTable表名AlterColumn你的字段IDENTITY(1,1)

  来指定字段重新从1开始计数,但是这句话本身是错误的,好长时间我也疑惑为什么这句话不能执行。假如我们看看MS对AlterTable语句的定义就清楚了,这句话根本是错误的。下面是MS对AlterTable语句的定义。

  SQLServer2000中设计表时如何得到自动编号字段

  以下为引用的内容:

  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开始计。

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...