调整数据库表中自动编号的方法

学人智库 时间:2018-01-15 我要投稿
【www.unjs.com - 学人智库】

  方法一:

  删个那个自动编号的字段,再建一个同样的自动编号字段即可。

  方法二:

  自动编号是一直增加的(每次都加1),你再增加一条记录它的编号会在前面的基础上加1(删除的也算),如果你编号为1的记录被删除了,你想再要从1开始,可以打开Access数据库,选择工具,再选择数据库实用工具,单击压缩和修复数据库,这样就OK了.

  方法三:

  1、在access里新建一个查询。

  2、把视图改为sql视图。

  3、在里面输入

  ALTER TABLE 表名 ALTER COLUMN [自动编号字段名] COUNTER (你要的初始值, 1)

  例如:

  ALTER TABLE [user] ALTER COLUMN [id] COUNTER (1001, 1)

  4、运行后,编号就从1001开始了。

  数据库表中自动编号字段用一段时间后,把数据全删了再新增数据时也不会从1开始的,而是接着以前的值加1或增加设定的步值,Access,mysql,mssql等都是这样的。

  怎么才能让数据清空后自动编号从1开始?有时候又想让Access数据库自动编号不从1开始,而想从指定的值开始,或让ACCESS自动编号一次增长指定的步值?以下办法供参考:

  针对ACCESS数据库

  1、想保留数据的

  1.1可以把自动编号字段删了,然后再加个自动编号的字段

  1.2(1)、在access里新建一个查询。

  (2)、在设计查询界面右键选择SQL视图。

  (3)、输入如下SQL语句,执行

  Alter TABLE 表名

  Alter COLUMN [自动编号字段名] COUNTER (初始值,步值)

  如:想让TT表自动编号字段id从1开始,可以:Alter TABLE TT Alter COLUMN id COUNTER (1, 1)

  想让TT表自动编号字段id从100开始,每次增加10,可以:Alter TABLE TT Alter COLUMN id COUNTER (100, 10)

  注:1.2方法,可以在刚建数据库、清空数据库或有数据时执行,默认执行DDL语句后,如ID是设为主键的将被取消,如果数据库中有值可以出现ID重复,想执行后仍有主键设置可以改为 Alter COLUMN [自动编号字段名] COUNTER (初始值,步值) primary key(但指定初始值必不能跟已经存在的ID值相同才行)

  2、不想保留数据,只想把自动编号恢复从1开始

  2.1、复制原来数据库表,只复制数据结构即可。

  2.2、删除所有数据后,选择工具,再选择数据库实用工具,单击压缩和修复数据库.

  2.3、删除所有数据后,把自动编号字段改为不自动编号,保存,然后再改成自动编号

  MSSQL数据库、MYSQL数据库保留数据时可以参看1.1,不保留数据时可以执行:truncate table 表名,可以快速清空整个表数据使自动编号初始开始。

[调整数据库表中自动编号的方法]