MySQL id未按顺序保存(生产中的Laravel)
嗨,伙计们!我真的对此感到困惑 所以,我创建了一个Laravel应用程序,并在Heroku上托管了它。我使用ClearDB扩展来使用MySQL。问题是:当我在数据库中保存一个新用户时,它并没有按ID顺序保存 第二个寄存器的id是1,第二个寄存器的id是11,第三个寄存器的id是21。。。 然后我删除了它们,然后再试一次,我得到了id 31。我想,这是有规律的,嗯?它是+10,+10。。。但是为什么呢 看,我用来保存新寄存器的代码只是:MySQL id未按顺序保存(生产中的Laravel),mysql,database,laravel,heroku,cleardb,Mysql,Database,Laravel,Heroku,Cleardb,嗨,伙计们!我真的对此感到困惑 所以,我创建了一个Laravel应用程序,并在Heroku上托管了它。我使用ClearDB扩展来使用MySQL。问题是:当我在数据库中保存一个新用户时,它并没有按ID顺序保存 第二个寄存器的id是1,第二个寄存器的id是11,第三个寄存器的id是21。。。 然后我删除了它们,然后再试一次,我得到了id 31。我想,这是有规律的,嗯?它是+10,+10。。。但是为什么呢 看,我用来保存新寄存器的代码只是:DB::table('registers')->insert(
DB::table('registers')->insert($registerData)代码>
在$registerData变量上,我只有以下数据:姓名、电子邮件、图片的url和出生日期。当您在事务中创建记录并回滚它时(因为可能出现异常),将跳过自动递增的值
检查应用程序日志。并在问题中添加迁移代码和操作代码
删除所有行并创建新行后,您将使用ID=LAST\u DELETED\u ROW\u ID+1
,因为MySQL在meta表中存储增量计数器(请参见此问题:)
有用的回答:
我在cleardb文档中发现,他们使用默认的自动增量设置为10。所以数字真的像1,11,21。。。他们说这是为了防止“潜在的钥匙碰撞”。Thx!:)