Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL id未按顺序保存(生产中的Laravel)_Mysql_Database_Laravel_Heroku_Cleardb - Fatal编程技术网

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

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(

嗨,伙计们!我真的对此感到困惑

所以,我创建了一个Laravel应用程序,并在Heroku上托管了它。我使用ClearDB扩展来使用MySQL。问题是:当我在数据库中保存一个新用户时,它并没有按ID顺序保存

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

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


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

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

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

删除所有行并创建新行后,您将使用
ID=LAST\u DELETED\u ROW\u ID+1
,因为MySQL在meta表中存储增量计数器(请参见此问题:)

有用的回答:

我在cleardb文档中发现,他们使用默认的自动增量设置为10。所以数字真的像1,11,21。。。他们说这是为了防止“潜在的钥匙碰撞”。Thx!:)