1数据库中id的值 2mysql> select * from user_id_seq; 3+----------+------+ 4| id | stub | 5+----------+------+ 6| 10000025 | a | 7+----------+------+ 8 9| user_id_seq | CREATE TABLE `user_id_seq` ( 10 `id` bigint(20) NOT NULL AUTO_INCREMENT, 11 `stub` varchar(3) NOT NULL, 12 PRIMARY KEY (`id`), 13 UNIQUE KEY `stub` (`stub`) 14) ENGINE=InnoDB AUTO_INCREMENT=10000026 DEFAULT CHARSET=utf8 |
使用mysql生成全局主键,测试的时候因为需要将AUTO_INCREMENT调整到了一千万,测试完成后希望该键值退回到一个比较小的初始值。
1mysql> update user_id_seq set id = 100; 2mysql> commit; 3修改完后: 4mysql> select * from user_id_seq; 5+-----+------+ 6| id | stub | 7+-----+------+ 8| 100 | a | 9+-----+------+ 10但是: 11mysql> show create table user_id_seq; 12| user_id_seq | CREATE TABLE `user_id_seq` ( 13 `id` bigint(20) NOT NULL AUTO_INCREMENT, 14 `stub` varchar(3) NOT NULL, 15 PRIMARY KEY (`id`), 16 UNIQUE KEY `stub` (`stub`) 17) ENGINE=InnoDB AUTO_INCREMENT=10000026 DEFAULT CHARSET=utf8 | 18 19AUTO_INCREMENT的值依旧是10000026 20 21然后再执行: 22mysql> alter table user_id_seq AUTO_INCREMENT = 100; 23mysql> commit; 24 25这时AUTO_INCREMENT的值才真正的变小,再次从该表中取得主键值将从101开始。