在mysql中很多朋友都認(rèn)為字段為AUTO_INCREMENT類型自增ID值是無(wú)法修改,其它這樣理解是錯(cuò)誤的,下面我來(lái)介紹mysql自增ID的起始值修改與設(shè)置方法.
通常的設(shè)置自增字段的方法,創(chuàng)建表格時(shí)添加如下代碼:
create table table1(id int auto_increment primary key,...)
創(chuàng)建表格后添加:alter table table1 add id int auto_increment primary key 自增字段,一定要設(shè)置為primary key.
例,許多時(shí)候希望table中數(shù)據(jù)的id不要從1開始,像qq,id從10000開始,代碼如下:
alter table users AUTO_INCREMENT=10000;
而且該語(yǔ)句也適用于修改現(xiàn)有表的id上,比如大批量刪除數(shù)據(jù)后,想id從654321退回123456開始,代碼如下:
alter table users AUTO_INCREMENT=123456;
但是經(jīng)過(guò)實(shí)際測(cè)試,單機(jī)的Mysql沒(méi)有問(wèn)題,Mysql Cluster下是無(wú)效的,可能在主鍵上的機(jī)制,還是有所不同,有時(shí)間研究一下,在Rails migration中的寫法如下:
- create_table :articles, :options => 'AUTO_INCREMENT = 1001' do |t|
- # xxx todo //Vevb.com
- end
設(shè)置自增ID從N開始:CREATE TABLE TABLE_1(ID INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,// ID列為無(wú)符號(hào)整型,該列值不可以為空,并不可以重復(fù),而且自增,NAME VARCHAR(5) NOT NULL ) AUTO_INCREMENT = 100;(ID列從100開始自增)
如果想讓自增ID從默認(rèn)值開始只要執(zhí)行如下代碼: TRUNCATE TABLE table1 即可.
新聞熱點(diǎn)
疑難解答
圖片精選