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

web帳

記事詳細

2015.04.12

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

忘れないようにと。

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

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

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

[code]id=1,2,3,4,5,6,7[/code]

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

[code]id=1,2,3,4[/code]

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

[code]id=1,2,3,4,8[/code]

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

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

[code]id=1,2,3,4,5,6,7[/code]

削除

[code]id=1,2,3,4[/code]

変更

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

追加

[code]id=1,2,3,4,5[/code]

といった具合に。

うまくいかない場合

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

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

[code]id=1,2,3,4,5,6,7[/code]

削除

[code]id=1,2,3,4[/code]

↓ AUTO_INCREMENTの設定を解除

[code]ALTER TABLE `テーブル名` CHANGE `id` `id` INT NOT NULL;[/code]

変更

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

再度 AUTO_INCREMENTの設定

[code]ALTER TABLE `テーブル名` CHANGE `id` `id` INT NOT NULL AUTO_INCREMENT;[/code]

変更

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

追加

[code]id=1,2,3,4,5[/code]

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

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

  • RSSを登録する

  • follow us in feedly

Graphical FrontEnd Engineer
- Daisuke Takayama

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

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