插入数据 id不按照顺序自增数据

        $users = DB::table('users')->insertGetId([
            'email' => 'k22a12yla@example.com',
            'name' => '232332',
            'password' => '232332',
        ]);

如果 某一条数据出错了 再成功新增数据的时候 前面的ID 就会跳过 新插入的不按照顺序自增了 ,请问该怎么处理呀 ,谢谢

比如 id15那条数据成功了 后面如果尝试增加数据 16 17 18 三次都失败了 数据库并没有写入数据 如果再次成功写入数据 前面的Id 理论上应该是16 但是直接变成了19
插入数据 id不按照顺序自增数据

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
Junwind
最佳答案

是mysql本身的自增id的机制就是这样的,之前用过的id,后面增加的数据中就不会出现了; 可以避免出现一些异常读取数据的安全问题

2年前 评论
讨论数量: 8

alter table $table auto_increment = 1 最好先测试一下

2年前 评论

是不是加事务了,事务中提交失败被回滚了。

2年前 评论
Junwind

是mysql本身的自增id的机制就是这样的,之前用过的id,后面增加的数据中就不会出现了; 可以避免出现一些异常读取数据的安全问题

2年前 评论

开启事务了吧? 如果失败事务回滚的话,自增 ID 就会被跳过

2年前 评论

MySQL自带的机制,不需要太过关心

2年前 评论

一般情况开了事务就是这样

2年前 评论

事务开了又没提交,或者中间的记录被删了

2年前 评论

以下场景自增主键不连续

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!