插入数据 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 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
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年前 评论

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