mysql中如何查询数据库中id不连续的数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql中如何查询数据库中id不连续的数据相关的知识,希望对你有一定的参考价值。

参考技术A 只有几万条数据,那就好办多了,列举个笨方法如下
如果要一次性查出来,需要用递归了,因为不知道你中间的断点会有多少个,所以建议把这个表复制一份,直接对表进行删除操作
直接for循环
for($i
==1;$i<你的最大数据条数;$i++)
查询你的记录,是否有等于$i和$i+1的,如果这两条记录同时存在就删除$i编号

mysql数据库 id主键自增加删除后不连续的问题

在主键id删除某一条后,再次添加,删除的id不会使用,这是为了主键的唯一性,但是在程序中可能会出现问题,导致前后端不统一。

解决问题的思路是:修改开始自增加的id,从而让自增加开始于你设置的值

用到的方法是:alter table category auto_increment = 100

100为举例值,实际值看你自己

//先用max方法获取当前最大的id,然后加1,保存为变量
$max_id = DB::name(category) ->max(category_id);
//id+1
$max_id++;
//重置自动增加为当前最大值加1
DB::execute("alter table category auto_increment=".$max_id);

 

以上是关于mysql中如何查询数据库中id不连续的数据的主要内容,如果未能解决你的问题,请参考以下文章

MySQL大数据量分页查询方法及其优化

MYSQL计算连续与不连续区间的方法

当唯一 id 与查询的其他 7 个不匹配时,如何从 MySQL 查询中绘制一行

mysql 如何获取数据表中离当前日期最近的数据

mysql 中如何把查询出来的一列数据当成条件(字段)来使用?

mysql 怎么把查询结果作为表名继续查询