MySQl数据表中的ID设置为自增,为什么中间会出现ID编号不连续的情况

mingky 2012-04-05 06:32:49
比如说ID是自增的,从1到1073都是正常的,但是1073之后就变成1086了。这是什么原因?该怎样解决?
...全文
848 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
cysolo 2012-04-08
  • 打赏
  • 举报
回复
去修改my.ini,将前面的#去掉相应功能就开启了
ACMAIN_CHM 2012-04-08
  • 打赏
  • 举报
回复
打开MYSQL的官方免费手册,搜索 日志。 这个总会吧。
mingky 2012-04-08
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

可能的原因很多, 建议楼主还是打开普通查询日志,然后在下次再出现类似情况时可以通过日志分析。
一般可能是,1)删除了记录,2)并发操作而导致一方插入示成功。3)事务操作未成功被回滚,4)。。。。
[/Quote]惭愧啊,我不会在wamp下查看MySQL的操作日志
jiaweiqq123 2012-04-06
  • 打赏
  • 举报
回复
应该是有人把1074-1085这些记录项删除过...
bijie521yl 2012-04-06
  • 打赏
  • 举报
回复
同意7,8楼的查下日志,看看有没有插入失败或者删除的操作,事务回滚的我认为一般是不多的,除非你的系统用到
Rotel-刘志东 2012-04-06
  • 打赏
  • 举报
回复
把日志的文件贴出出来分析一下。对数据库所做的什么样的操作不就一目了然了。
Rotel-刘志东 2012-04-06
  • 打赏
  • 举报
回复
id auto_increment(id)如果是自增列的话,不会出现此情况的,除非中间
有删除操作或对表的id做了破坏性的操作,否则不会出现上述情况的。
蓝色的雨哎 2012-04-06
  • 打赏
  • 举报
回复
数据库很严格的,说自增1他就自增1。
如果发现不是这样的,你就照这 #7 的同志的建议去查看错误。
ACMAIN_CHM 2012-04-06
  • 打赏
  • 举报
回复
可能的原因很多, 建议楼主还是打开普通查询日志,然后在下次再出现类似情况时可以通过日志分析。
一般可能是,1)删除了记录,2)并发操作而导致一方插入示成功。3)事务操作未成功被回滚,4)。。。。
WWWWA 2012-04-06
  • 打赏
  • 举报
回复
执行过什么操作,比如插入,即使没有成功,自增也要+1
mingky 2012-04-06
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

引用 2 楼 的回复:

因为有人删除了之间的id
没有啊
[/Quote]不会的,所有脚本都没有涉及delete操作
mingky 2012-04-06
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

因为有人删除了之间的id
[/Quote]没有啊
jinguanding 2012-04-06
  • 打赏
  • 举报
回复
1.有并发进行了数据删除;
2.有INSERT失败,但是却触发了AUTOINCREMENT计数器+1操作;
3.可能有人手工写入一个较大的ID值,也即显示指定的;


推荐文章:
MySQL数据库InnoDB存储引擎Log漫游 简述:详细分析了InnoDB存储引擎Checkpoint技术,大家可以仔细研读!
iihero 2012-04-05
  • 打赏
  • 举报
回复
中间如果有别的事务作了delete操作。
rucypli 2012-04-05
  • 打赏
  • 举报
回复
因为有人删除了之间的id
mingky 2012-04-05
  • 打赏
  • 举报
回复
是因为并发的原因吗

56,687

社区成员

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

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