MYSQL 数据库记录删除后 ID不连续 如何恢复

sadwind2023-04-28笔记871

在数据库维护过程中,不免会删除一些记录一般主键ID都是自增字段,不可编辑,删除就是删除了,这个字段值再也不会出现了。

因此产生两个问题,一是有些项目数据库超大,增删又频繁,是可能ID数量不够用的。二就是有些像我这个强迫症了,看着记录不连续很难受。


在网上查了很多资料,只能删除主键重建,但是我只是想补上缺少的ID记录,不想重建,因为一旦重建相当于ID重新排序了,对于有些情况不合适的,下面提供一个思路。

1,新建一个字段,比如bid,让bid的值和id对应,执行“update table set bid=id”即可。

2,找到缺少、断续的记录id有哪些,如果量大,可用编程方式找出。比如从1开始到id最大值循环查找记录,找不到就说明缺少了,然后新增一条记录,让bid等于这个值。最后就是bid 看起来就是连续的了。

3,删除id主键字段,然后修改bid的字段名称为id,再重新设置其为主键,并设置其为自增字段。

relate content

sphinx 搜索 服务器重启后操作步骤

/www/server/sphinx-3.4.1/bin/indexer -c /www/server/sphinx-3.4.1/etc/icms.conf --all /www/server/sph...

ICMS 标签 调节器

模板标签调节器允许在任何以 $ 开头的标签中使用调节器对得到的值进行处理,形式为:modifiers调节器可带参数 参数可以是模板自带调节器,也可以是PHP的函数<!--{$...

php转换中文简繁体

数据库中数据都是简体中文,而港台海外用户一般都用繁体,所以都搜不到内容。正在想法实现网站用户搜索,将用户搜入的繁体转换成简体,从而得到想要的结果。通过opencc4php 扩展实现简繁体转化 ,ope...

如何记数据库中数据重新恢复ID连续

这是一个不是问题的问题,只是针对一些强迫症才有这种想法。大家都知道数据库中的记录主键ID是自增连续的,如果删除了某一行数据,再添加新数据,那条被删除的ID也不会再出现了,对于一些强迫症来说,看着ID不...

扩展 layui 的导出插件 layui.excel

就像下面说的一样,遇到问题。https://gitee.com/zypy333/layui-excel之前在工作过程中还有社区交流过程中,发现对导出 Excel 文件有需求,所以就萌发了封装插件的想法...

VUE学习:十三.代码管理

前言前端开发中对代码的处理:代码的存储、代码的管控、代码的提交与合并#1.代码仓库以gitlab 为例配置 ssh权限#2.代码管理简单项目分支dev:开发分支,直接在 dev 上进行开发,测试环境没...

Post Reply    

◎Welcome to participate in the discussion.