Как указано в answer :
InnoDB сбрасывает поле auto_increment при перезагрузке базы данных.
Когда InnoDB перезагружается, он находит самое высокое значение в столбце, а затем начать с этого момента.
blockquote>, и это может привести к проблеме внешнего ключа.
К счастью из
MySQL 8.0.0
он будет исправлен. Дополнительная информация:Ошибка # 199 Автоинкрементность Innodb los при перезапуске
WL # 6204: постоянное максимальное значение InnoDB для столбцов автоинкрестности
См. BUG # 199 о ошибках MySQL.
В настоящее время InnoDB выполняет следующие операции при открытии таблицы: SELECT MAX (c) FROM t; где c - имя столбца AUTOINC. Этот шаг используется для инициализации следующего значения автоматического значения столбца, и начиная с этой точки начинается выделение значений автоматического значения. InnoDB также делает это, когда он выполняет «ALTER TABLE AUTO_INCREMENT = N;».
...
InnoDB должен отслеживать максимальное значение и при перезапуске сохранять это максимальное значение и запускать оттуда.
blockquote>