記事の件について(余計なお世話みたいなコメントで恐縮ですが)おまけの情報です。
本家 MySQL の代わりに Amazon Aurora や RDS を使うケースも多いと思いますが、MySQL 8.0 互換の Aurora MySQL v3 と RDS for MySQL 8.0 ではAUTO_INCREMENTの挙動に差異があるので注意が必要です。
Aurora MySQL バージョン 3 では、各 DB インスタンスを再起動する際、Aurora は 各テーブルの AUTO_INCREMENT 値を保持します。Aurora MySQL バージョン 2 では、再起動後に AUTO_INCREMENT 値が保持されませんでした。
スナップショットからの復元や、ポイントインタイムリカバリの実行、およびクラスターのクローン作成によって新しいクラスターを設定した場合、AUTO_INCREMENT 値は保持されません。この場合の AUTO_INCREMENT 値は、スナップショットが作成された時点のテーブル内の最大列値に基づいた値に初期化されます。この動作は、RDS for MySQL 8.0 では異なり、AUTO_INCREMENT 値はこれらのオペレーション中に保持されます。
ちょっと表現が紛らわしかったかもしれません。
RDS for MySQL 8.0 では本家 MySQL 8.0 で改善されたとおりの挙動(AUTO_INCREMENT値が保持される)になりますが、Aurora MySQL v3 ではスナップショットからの復元や PITR、クローン作成時に旧バージョンと同じ挙動(AUTO_INCREMENT値が巻き戻る)になります。
Discussion
記事の件について(余計なお世話みたいなコメントで恐縮ですが)おまけの情報です。
本家 MySQL の代わりに Amazon Aurora や RDS を使うケースも多いと思いますが、MySQL 8.0 互換の Aurora MySQL v3 と RDS for MySQL 8.0 では
AUTO_INCREMENTの挙動に差異があるので注意が必要です。hmatsu47さん、ありがとうございます!AuroraやRDSでは少し違った挙動になるのですね。
ちょっと表現が紛らわしかったかもしれません。
RDS for MySQL 8.0 では本家 MySQL 8.0 で改善されたとおりの挙動(
AUTO_INCREMENT値が保持される)になりますが、Aurora MySQL v3 ではスナップショットからの復元や PITR、クローン作成時に旧バージョンと同じ挙動(AUTO_INCREMENT値が巻き戻る)になります。