MySQL id 没有按顺序保存(Laravel 在生产中)

MySQL id not saving in order (Laravel in production)

大家好!我真的很困惑..

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

我得到了 id 1,然后是第二个寄存器的 id 11,然后是第三个寄存器的 id 21... 然后我删除了它们并再次尝试,我得到了 id 31。我想,有一个模式,是吧?会+10,+10...但是为什么呢?

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

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

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

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

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

有用的回答: MySQL AUTO_INCREMENT does not ROLLBACK