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

sadwind2023-04-28笔记493

在数据库维护过程中,不免会删除一些记录一般主键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

VUE学习:四.环境配置

前言前端项目开发中,一般会有几个环境:dev:是程序员们专门用于开发的服务器,配置可以比较随意, 为了开发调试方便,一般打开全部错误报告sit:dev 环境完成需求开发就可以将代码打包到 sit 环境...

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

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

JS/JQUERY 动态修改样式CSS

    $(".layui-table-box").css("border-width","0px"...

VUE学习:十三.代码管理

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

中文分词搜索 准备学习使用XunSearch(迅搜)

现在正在使用SHPINX 全文检索、分词工具,其实网站规模并不大,也用不着全文检索,主要是为了中文分词,原生的SQL来查询,局限太大。但是SHPINX这个工具老是出问题,莫名其妙的停止,重启...

VUE学习:二.创建项目

VUE学习:二.创建项目

前言了解 vue 项目创建过程以及其目录结构,在开发中需要注意的地方,能够更好地规范前端开发#1.vue-cli 2.x1.安装vue-clinpm install -g ...

Post Reply    

◎Welcome to participate in the discussion.