2019年1月30日
table_nameテーブルのidカラムを例に、AUTO_INCREMENTを設定する方法と解除する方法のメモ。
ついでに数値を1から振り直す方法も。
あまり使用頻度は高くないので忘れがち。
AUTO_INCREMENTを設定するにあたり、該当カラムにPRIMARY KEYを設定する必要がある。
逆に、PRIMARY KEYを解除する場合には、AUTO_INCREMENTを先に解除する。
1 2 3 4 5 |
-- PRIMARY KEYの設定 ALTER TABLE `table_name` ADD PRIMARY KEY (`column_name`); -- PRIMARY KEYの解除 ALTER TABLE `table_name` DROP PRIMARY KEY; |
MODIFYとCHANGEはどちらを使っても設定できる。後ろに持ってくるパラメータが違うだけ。
・MODIFY [column-A] [B];
→ column-AをBという設定に変更。
・CHANGE [column-A] [column-A] [B];
→ column-Aをcolumn-AのBという設定に変更。
CHANGEを用いる場合、
1 |
ALTER TABLE `table_name` CHANGE `user_id_before` `user_id_after` INT(10); |
とした場合は、user_id_beforeカラムの名称とデータ型は、user_id_after INT(10)となります。
設定・解除はすべて確認済みです。
前置きが長くなりましたが、下のサンプルを元にぶちこめば設定・解除できます。
1 2 3 |
[1] ALTER TABLE `table_name` MODIFY `user_id` INT(数値) NOT NULL AUTO_INCREMENT; -- or [2] ALTER TABLE `table_name` CHANGE `user_id` `user_id` INT(数値) NOT NULL AUTO_INCREMENT; |
1 2 3 |
[1] ALTER TABLE `table_name` MODIFY `user_id` INT(数値) NOT NULL; -- or [2] ALTER TABLE `table_name` CHANGE `user_id` `user_id` INT(数値) NOT NULL; |
1 |
ALTER TABLE `table_name` AUTO_INCREMENT = 1; |