データベースを再起動すると、InnoDBはauto_incrementフィールドをリセットします。
InnoDBを再起動すると、列内で最大の値が検出され、そこから開始されます。
MyISAMは最後にインクリメントされたIDをキャッシュするため、これは発生しません。
更新
この機能/バグは2003年から存在しており、深刻な問題を引き起こす可能性があります。以下の例を見てください
-
表t1にはauto-inc主キーがあります。
-
表t2には、外部キー「制約」のないt1の主キーの列があります。つまり、t1で行が削除されると、t2の対応する行が孤立します。
-
InnoDBの再起動でわかっているように、IDはできます 再発行されます。したがって、t2の孤立した行は、t1の新しい行に誤ってリンクされる可能性があります。