起始值与步长

自增默认从 1 开始、每次加 1,但这两个值都能改。起始值用 AUTO_INCREMENT=n 或 ALTER 设置;步长由系统变量 auto_increment_increment 控制,主从复制时常被拿来做分片。

起始值与步长要点

起始值与步长示例

						-- 建表时让自增从 1000 起步
						CREATE TABLE voucher (
						    id INT UNSIGNED NOT NULL AUTO_INCREMENT,
						    code VARCHAR(20),
						    PRIMARY KEY (id)
						) AUTO_INCREMENT = 1000;

						-- 中途调整起点
						ALTER TABLE voucher AUTO_INCREMENT = 5000;

						-- 查看当前步长
						SHOW VARIABLES LIKE 'auto_increment%';
避坑提醒:改 AUTO_INCREMENT 设为比当前最大值小的值会被忽略——MySQL 不会回退到已用过的区间,避免和已有主键撞车。
起始值与步长 · 序列与自增 知识卡片
卡片 04 / 07 · 序列与自增(1080×1440 速查卡片)

序列与自增知识点