2018年1月15日月曜日

MySQLのAUTO_INCREMENT 設定・確認・変更

■既存のテーブルへ設定
前提条件として、ユニーク制約のあるカラムであること。
ALTER TABLE テーブル名 CHANGE カラム名 カラム名 INT( 11 ) AUTO_INCREMENT;
また、既存テーブルにカラム追加と同時に AUTO_INCREMENT を設定したい場合は、「,」で繋げて行うと良い。

ALTER TABLE テーブル名 ADD COLUMN カラム名 INT NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY (テーブル名);

■確認
SHOW TABLE STATUS LIKE 'テーブル名';

■変更
現在の値より少ない数字にはできない。

alter table cc_customer_attribute_name auto_increment=数字;

■注意点

AUTO_INCREMENTの値はファイルに保存されず、実行しているMySQLプログラムの変数内に格納されるだけである。 すなわちメモリ上に存在する。
当然MySQLを再起動すれば値は失われる。
起動後、AUTO_INCREMENTの値は、そのカラムの最大値となる。

AUTO_INCREMENTを操作している場合、再起動でおかしくならないようにする必要がある。