概述
自增id问题
- 1. 不需要数据库中的数据的情况
- 2.需要保存数据的情况
- 3.感悟
- 4.参考
从网上查到几种方法
1. 不需要数据库中的数据的情况
truncate table table_name
这是因为进行全表操作时,MySQL实际是做了这样的优化操作:先把数据表里的所有数据和索引删除,然
后重建数据表。如果想删除所有的数据行又想保留序列编号信息,可这样用一个带where的delete命令以
2.需要保存数据的情况
- 方法1:删除主键,重新创建主键
--mysql举例
alter table table_name drop 'id';
alter table table_name add column id int auto_increment primary key;
执行完上面这一条,字段增加,但值为空
alter table table_name auto_increment=100;
执行这一条,它会自动为已存在的数据的自增字段赋初值,从1开始,同时将后续新增的数据从100开始
- 方法2:修改已有的数据初始值(没有达到我想要的结果)
alter table table_name auto_increment=n
命令来重设自增的起始值
但是这个我试了,以为能 1,2,4,5,7,8
这种情况下设置
alter table table_name auto_increment=1
就再增加数据就会填补3,6
但是实际上并不是这样,
alter table table_name auto_increment=n;
注意n只能大于已有的auto_increment的整数值,小于的值无效.
3.感悟
查这个问题时更多得到的信息是,数据库不推荐重用已使用过的编号(索引)
要重新排列现有的序列编号,最简单的方法是先删除该列,再重建该,MySQL会重新生连续的编号序列。
4.参考
参考学习来源 本文中之是选出了某个相关问题。
最后
以上就是迷路樱桃为你收集整理的数据库自增id,删除个别数据后出现不连号的情况解决方法整理的全部内容,希望文章能够帮你解决数据库自增id,删除个别数据后出现不连号的情况解决方法整理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复