大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说Bug: 删除中间某条记录后/删除最后一条记录再添加 ,auto-increment的自动增长不连续「终于解决」,希望您对编程的造诣更进一步.
问题描述:
现在我删除最后一条记录:
再加上一条新记录:
发现,记录的id不是4而是5.
问题解释:
这是因为作为主键而不得有重复的id值,就算是删掉了,因为设置了auto_increment,为了保持id的自增,他只会接着自己的增长记录走,而不管记录中的每一个值是否还存在.
办法:
删除该列表的主键,然后重新添加它,并设置auto_increment.
可是,当我删除时:
ALTER table users PRIMARY KEY;
代码100分
却出现:
说明删除主键的方法,会影响到列的定义,也就是建表时定义的auto_increment;
于是方法改为:
代码100分ALTER TABLE users DROP userId;
直接以列名的形式直接删除那个列,就可以忽略掉列的定义了!(但是别忘了如果他又是外键,需要先解除外键关系)
最后解决方案:
/* *插入or删除操作 */ ALTER TABLE users DROP userId;//去除原来的列 ALTER table users add userId int(6) not null auto_increment PRIMARY KEY;//重新定义,排列
注:在myBatis中并未找到@Alter的注解,但是@Update同样适用!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/9031.html