MySQL で、 AUTO INCREMENT の値が時々リセットされる原因
はじめに
MySQL 5.6 の InnoDB データベースで AUTO INCREMENT のカウンター値が時々リセットされ、物理削除後の値が再度使用されてしまう可能性がある原因と対処法を紹介します。
現象
私が関わっていたプロジェクトで、AUTO INCREMENT のカラムなのに物理削除後の値が再利用されるという不具合が発生しました。
ユーザーテーブルとして、会員 ID をプライマリキーかつ AUTO INCREMENT で設定しており、削除したらテーブルから物理削除する仕様になっていました。
ある日、削除済みの会員 ID と、登録されていた会員 ID が重複するという不具合が発生しました。