mysql auto_increment问题 , 是BUG?

zoid 2016-01-09 03:22:05
测试如下:
set @@auto_increment_increment=200;
create table testseq(
id int auto_increment,
name varchar(1000),
primary key(id)
);
>alter table testseq AUTO_INCREMENT=17;
>insert into testseq(name) values('aaa');
>insert into testseq(name) values('bbbb');
>select * from testseq;
出现的是
201 aaa
401 bbbb

由于应用原因 @@auto_increment_offset不能统一改, 所以考虑在表上改, 我如何能做到数据是
17 aaa
217 bbbb
417
这样的效果, 请大神指教,
...全文
167 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
benluobo 2016-01-09
  • 打赏
  • 举报
回复
在测试语句中去掉set @@auto_increment_increment=200;或者set @@auto_increment_increment=1
benluobo 2016-01-09
  • 打赏
  • 举报
回复
而且说明一下 出现 201 aaa 401 bbbb 的结果不是BUG,是正常的表现,这个201 是auto_increment_offset+auto_increment_increment共同决定了 设置为17并不能保证是从17开始,而是从 auto_increment_offset+auto_increment_increment计算后下一个大于等于17的值开始
benluobo 2016-01-09
  • 打赏
  • 举报
回复
如果auto_increment_offset不能统一改 你的需求只能在insert的时候指定id的第一个值 或者将auto_increment_increment设置为1

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧