sql自增长跳号,怎么办?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql自增长跳号,怎么办?相关的知识,希望对你有一定的参考价值。

sql 2000 数据库,里面有一张表是用来存储从web导入的数据的,qid字段作为导入数据的id使用,采用的是自增长标示值。可是发现每次导入的word数据和上一次导入的数据就会有跳号的情况,例如下图:从3652一下跳到了5530.

请问这是什么情况,怎么解决?
CREATE TABLE [dbo].[Question] (
[QID] [int] IDENTITY (1, 1) NOT NULL ,
中途没有删除过,就是上一份word导入了3652条数据,然后在导入另一份word的时候就发现id跳号了,后来测试了好多次,都是出现这情况,只要导入另一份word就会和上一份word导入的数据中间跳号。

有两种可能,一个是你中间删掉了一部分数据,删掉的自增长序号正常是不会再使用的。
第二个就是插入的时候暂时把自增长关掉了
参考技术A 你确定你中途表里没有插了数据再删除吗,出现跳号一般都是插入数据后再删除,然后再插入数据就跳号了 参考技术B 用什么导入方法?是自己写的软件吗

mysql表主键从给定值开始自动增长是怎么回事?

mysql数据库表table,设置主键id自动增长auto_increment.表建立好以后插入数据的话,id是从1开始的,可以通过设置,让表建立好以后插入数据,其id是从100或者1000开始。

create table tablename(

ID      int not null auto_increment,

Name  varchar(255) not null,

primary key(ID);

)auto_increment=100。

mysql自增ID起始值修改方法

在mysql中很多朋友都认为字段为AUTO_INCREMENT类型自增ID值是无法修改,其实这样理解是错误的,下面介绍mysql自增ID的起始值修改与设置方法。

通常的设置自增字段的方法;

1、创建表格时添加

2、创建表格后添加

3、而且该语句也适用于修改现有表的id上, 比如大批量删除数据后,想id从654321退回123456开始;

4、但是经过实际测试, 单机的Mysql没有问题, Mysql Cluster下是无效的,可能在主键上的机制,还是有所不同,有时间研究一下。

参考技术A MySQL提供了主键自动增长的功能!这样用户就不用再为是否有主键是否重复而烦恼了。当主键设置为自动增长后,在没有给出主键值时,主键的值会自动生成,而且是最大主键值+1,也就不会出现重复主键的可能了。
创建表时设置主键自增长(主键必须是整型才可以自增长):
CREATE TABLE stu(
sid INT PRIMARY KEY AUTO_INCREMENT,
sname VARCHAR(20),
age INT,
gender VARCHAR(10)
);

以上是关于sql自增长跳号,怎么办?的主要内容,如果未能解决你的问题,请参考以下文章

SQLserver 自增长列

SQL Server中怎样设置id号自动增长

sql日志增长过快.高手救命啊!!!

SqlServer里设置主键自增长有几种方式?

Mysql数据库自增长如何设置?

masql自增长的键初始值怎么定的?想从10000开始