[Mysql] 修改欄位的自動索引值autoindex (auto_increment )

URL Link //n.sfs.tw/10483

2016-12-25 10:54:35 By 張○○

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