
MySQLのAUTO_INCREMENTの値をリセットして1から連番を振りなおす方法についてです。データを追加、削除していくうちに1,2,3…と連続しているデータが,1,4,7,9…のように歯抜けになった状態を直したいときに使います。
auto_incrementになっているカラムのデータ(数字)を他のテーブルで連動させている場合には、値を変えてしまうとプログラムが動かなくなるので注意が必要です。
MySQLのコンソールからコマンドを実行します。
まず最初にテーブルのidカラム(auto_incrementが設定されているカラム)を削除します。
ALTER table テーブル名 drop column id;
次にAUTO_INCREMENTが設定されたidを作成します。
AUTO_INCREMENTは主キーであり、かつNullでないことが必要なのでそれらを明記します。
ALTER table テーブル名 add id int(11) primary key not null auto_increment first;
idカラムにAUTO_INCREMENTを1から設定するには、以下のようにします。
ALTER TABLE テーブル名 AUTO_INCREMENT =1
一度idカラムを消去するのは、テーブルのデータを全部消しても、AUTO_INCREMENTの値は消去されずに残っているからです。