このサイトは、只今WEB業界で活躍中のデザイナー、プログラマーの方々の情報を集めたweb統合情報サイトです。

web帳

記事詳細

2015.04.12

MySQL オートインクリメントの値をリセット

忘れないようにと。

MySQLのオートインクリメントの値をリセットするコマンドは。

ALTER TABLE 'テーブル名' AUTO_INCREMENT = 次の番号にしたい数値;

idなど自動的に増えるようにオートインクリメントを設定することが多々で、idのカラムが以下のようになっていて

id=1,2,3,4,5,6,7

id「5,6,7」を削除したとします。

id=1,2,3,4

それで、新たに行を追加した際、idは「5」になって欲しいところですが

id=1,2,3,4,8

こんな感じで削除したカラムのオートインクリメントの値は保持されたまま、idは次の値となってしまします。

そこで、削除した後、冒頭のコマンドで値の変更を。

id=1,2,3,4,5,6,7

削除

id=1,2,3,4

変更

ALTER TABLE `テーブル名` AUTO_INCREMENT = 次の番号にしたい数値;

追加

id=1,2,3,4,5

といった具合に。

うまくいかない場合

上記の方法で行ってもうまくいかなかったりします。

その際は、削除した後、AUTO_INCREMENTの設定を一度外すとうまくいきます。

id=1,2,3,4,5,6,7

削除

id=1,2,3,4

↓ AUTO_INCREMENTの設定を解除

ALTER TABLE `テーブル名` CHANGE `id` `id` INT NOT NULL;

変更

ALTER TABLE `テーブル名` AUTO_INCREMENT = 次の番号にしたい数値;

再度 AUTO_INCREMENTの設定

ALTER TABLE `テーブル名` CHANGE `id` `id` INT NOT NULL AUTO_INCREMENT;

変更

ALTER TABLE `テーブル名` AUTO_INCREMENT = 次の番号にしたい数値;

追加

id=1,2,3,4,5

とこの方法で解決しました。

忘れないようにとメモな感じでした。

  • RSSを登録する

  • follow us in feedly

Graphical FrontEnd Engineer
- Daisuke Takayama

MAD CITY 北九州市で生まれ育つ。20代はバンド活動に明け暮れ、ふと「webデザイナーになりたい。」と思い、デジタルハリウッド福岡校入学。卒業後、数々の賞を受賞、web業界をざわつかせる。
現在、港区六本木で活動中。

WEBデザイナーの、WEBデザイナーによる、WEBデザイナーの為のサイト。「みんなで書こう!」と仲間を募ってみたが、結局書くのは自分だけとなってしまいました。日々のメモを綴っていきます。