使用:
ALTER TABLE [your table name here] AUTO_INCREMENT = 1
...は、テーブルに存在する既存の最大値に基づいて、auto_increment値を次の値にリセットします。つまり、複数のギャップを修正するために使用することはできません。
これを行う唯一の理由は、表面的なものの場合です。データベースは、レコードがシーケンシャルであるかどうかを気にせず、レコードが互いに一貫して関連していることだけを気にします。データベースのために値を「修正」する必要はありません。
id
を表示している場合 ユーザーにとっての値。これが常にシーケンシャルであるようにする理由です。その場合は、代理キーを追加することをお勧めします。ユーザーに表示するために代理キーを使用します。これにより、必要に応じて値を並べ替えることができますが、参照整合性は影響を受けません。この場合の代理キーは整数列になります。