MySQLの連番が1から始まらないとき

MySQLデータベース内に作成したテストデータをすべて削除して新たなデータを追加したとき、AUTO_INCREMENT列の連番が1から始まらないことがあります。

原因として、DELETE文でテーブルデータをすべて削除したことが考えられます。たとえば、XAMPPに付属するデータベース管理ツールphpMyAdminで、削除したいデータにチェックを入れて削除すると、このDELETE文が実行されます。

テーブル内のデータをDELETE文で削除すると、AUTO_INCREMENT列は続きの値(例:101、102…)から始まります。連番を1から始めるには、テーブル内のデータをTRUNCATE文で削除します。phpMyAdminでは「テーブルを空にする」メニューを選択すると、このTRUNCATE文が実行されます。

○table1テーブルを空にする(連番を1から始める)
TRUNCATE TABLE table1;

TRUNCATE文は、テーブルを削除して空テーブルを再作成するので、連番もクリアされて1から始まります。また、DELETE文よりも高速です。逆に、古いIDが再利用されると都合が悪い場合はDELETE文でテーブルデータをクリアしましょう。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク