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

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

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

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

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
Junwind
最佳答案

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

3年前 评论
讨论数量: 8

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

3年前 评论

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

3年前 评论
Junwind

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

3年前 评论

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

3年前 评论

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

3年前 评论

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

3年前 评论

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

3年前 评论

以下场景自增主键不连续

3年前 评论

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