返回顶部
首页 > 资讯 > 数据库 >Bug: 删除中间某条记录后/删除最后一条记录再添加 ,auto-increment的自动增长不连续
  • 489
分享到

Bug: 删除中间某条记录后/删除最后一条记录再添加 ,auto-increment的自动增长不连续

摘要

问题描述:    现在我删除最后一条记录:    再加上一条新记录:   发现,记录的id不是4而是5. 问题解释:   这是因为作为主键而不得有重复的id值,就算是删掉了,因为设置了auto_increment,为了保持i

Bug: 删除中间某条记录后/删除最后一条记录再添加 ,auto-increment的自动增长不连续

问题描述:

 

 现在我删除最后一条记录:

 

 再加上一条新记录:

 

发现,记录的id不是4而是5.

问题解释:

  这是因为作为主键而不得有重复的id值,就算是删掉了,因为设置了auto_increment,为了保持id的自增,他只会接着自己的增长记录走,而不管记录中的每一个值是否还存在.

办法:

 删除该列表的主键,然后重新添加它,并设置auto_increment.

  可是,当我删除时:

ALTER table users PRIMARY KEY;

  却出现:

  说明删除主键的方法,会影响到列的定义,也就是建表时定义的auto_increment;

  于是方法改为:

ALTER TABLE users DROP userId;

  直接以列名的形式直接删除那个列,就可以忽略掉列的定义了!(但是别忘了如果他又是外键,需要先解除外键关系)

最后解决方案:

  



ALTER TABLE users DROP userId;//去除原来的列
ALTER table users add userId int(6) not null auto_increment PRIMARY KEY;//重新定义,排列

  注:在mybatis中并未找到@Alter的注解,但是@Update同样适用!

 

您可能感兴趣的文档:

--结束END--

本文标题: Bug: 删除中间某条记录后/删除最后一条记录再添加 ,auto-increment的自动增长不连续

本文链接: https://lsjlt.com/news/5493.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作