Mysql 自增序列(AUTO_INCREMENT)起始值设置,跳跃增长问题,按行号修改问题.

应用场景

在mysql的自增列使用比较常见,但常会遇到一些问题,怎么处理呢,本文进行一个相关的汇总: 怎么设置起始值,为什么出现跳跃增长(不连续的问题), 怎么修改不连续的增长序列值(考虑到业务上的唯一性,这个不提倡,但特殊情况可能用上)

基础资源

mysql

使用须知

强烈建议需要根据业务场景设计是否使用自增序列,未来数据量的规模,是否有插入异常,什么类型的数据库引擎(MyISAM ,Innodb..)等来综合考虑相关问题。

配置步骤

A)怎么设置自增列的起始值 ,增长步长(每次增加的大小).

CREATE TABLE `config_booktype` (

 `Id` int(11) unsigned NOT NULL AUTO_INCREMENT,

 `TypeName` varchar(64) NOT NULL ,

 `CreateTime` datetime not null,

 `CreateUserId` int(11) not null,

 PRIMARY KEY (`Id`),

 Unique KEY `UK_TypeName` (`TypeName`)

) ENGINE=InnoDB  AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8;

[注]红色部分的 "AUTO_INCREMENT=1000"就是确定自增列的起始值。

如果需要的是每次序列增长10,而不是默认增长1,则可以指定:

 在指定AUTO_INCREMENT=1000的基础上增加 auto_increment_increment=10

B)为什么自增列出现跳跃增长(序列值不连续)?

更多请点击下列链接参考原文

C)业务场景允许的情况下,如何修复自增列不连续的问题以达到连续.

更多请点击下列链接参考原文

D)数据表中归档或清理了无用的老数据后,如何让自增列的起始值重置为1?

更多请点击下列链接参考原文

更多详情,请参考: Mysql 自增序列(AUTO_INCREMENT)起始值设置,跳跃增长问题,按行号修改问题.

你可能感兴趣的:(mysql,数据库)