现在的位置: 首页 > 综合 > 正文

如何使access、MSSQL(sql server)数据库的自动编号,重新从1开始排列?

2013年08月02日 ⁄ 综合 ⁄ 共 826字 ⁄ 字号 评论关闭

数据库表中自动编号字段用一段时间后,把数据全删了再新增数据时也不会从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 表名,可以快速清空整个表数据使自动编号初始开始

抱歉!评论已关闭.