Mysql 每個表格都可以設定一個具有自動編號(auto_increment)屬性的欄位,而且這個欄位一定要是主鍵,唯一鍵或索引鍵都不可以,換句話說,已設成自動增加的欄位,就不能改變鍵名。這個設定自動編號的欄位又稱為自動欄位(auto column),自動編號的下一個值又叫autoindex。
自動欄位預設是從1開始編號,後面新增的資料會自動的加上1,所以會是 1, 2, ,3, 4, .....最大值由欄位的型態決定。
設定欄位自動編號
例如sn這個欄位設定成自動欄位,使用change語法:
ALTER TABLE `test` CHANGE `sn` `sn` INT( 11 ) NOT NULL AUTO_INCREMENT;
移除自動欄位
ALTER TABLE `test` CHANGE `sn` `sn` INT( 11 ) NOT NULL;
改變自動欄位的Autoindex
alter table tablename AUTO_INCREMENT=664441;
要注意上例中664441代表下一筆資料寫入時的索引值,而不是目前最後一筆的索引值
如果索引值改的主鍵最大值還小,則不具作用。例如現在主鍵已有100筆資料(編號100),你要把他改成90,下了sql語法不會有任何變化。
查看目前的索引值
SHOW TABLE STATUS where name='t表格名';
這樣會秀出表格狀態,看到Auto_increment那欄就對了。
參考資料
[1] http://stackoverflow.com/questions/17482554/change-autoindex-number-mysql
原文 2014-09-28 03:04:24