首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL id未按顺序保存(生产中的Laravel)

问MySQL id未按顺序保存(生产中的Laravel)
EN

Stack Overflow用户
提问于 2020-06-23 07:09:24
回答 1查看 70关注 0票数 1

​

​

嗨,伙计们!我对此真的很困惑..

因此,我创建了一个Laravel应用程序并将其托管在Heroku上。为了能够使用MySQL,我正在使用ClearDB扩展。问题是:当我在我的数据库中保存一个新用户时,它不是按ID顺序保存的。

我得到了id 1,然后id 11代表第二个寄存器,然后id 21代表第三个...然后我删除了它们,并再次尝试,我得到了id31。我想,这是有规律的,是吧?它是+10,+10...但是为什么呢?

看,我用来保存新寄存器的代码只有:DB::table('registers')->insert($registerData);

在$registerData变量中,我只有以下数据:姓名、电子邮件、照片的url和出生日期。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-23 07:33:06

当您在transaction中创建记录并回滚时(因为可能出现异常),自动递增的值将被跳过。

检查应用程序日志。并在您的问题中添加迁移代码和操作代码。

删除所有行并创建新行后,您将使用ID = LAST_DELETED_ROW_ID + 1,因为MySQL将增量计数器存储在表meta中(请参阅此问题:How to reset AUTO_INCREMENT in MySQL?)。

有用的答案:MySQL AUTO_INCREMENT does not ROLLBACK

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62524874

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档