应用场景
在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?
更多请点击下列链接参考原文