今天看后臺數(shù)據(jù)表結(jié)構(gòu)時發(fā)現(xiàn)一個俺從來沒有見過的設(shè)置auto_increment=任意數(shù)字的值比如表結(jié)構(gòu)是: create table cj(
`nid` varchar(10),
`cid` varchar(10)
)ENGINE=InnoDB DEFAULT CHARSET=gbk AUTO_INCREMENT=40;這個AUTOINCREMENT=40在每張表里都有不同的值發(fā)現(xiàn)他們有=1的,有=2的,也有=20的,不同的表它的值也不完全一樣,這個值是做什么用的?先謝謝各位大神啦,o(∩∩)o...哈哈
2 回答

慕標琳琳
TA貢獻1830條經(jīng)驗 獲得超9個贊
作用嗎:數(shù)值型自增 unique 標志。也就是自我插入型標識唯一record(區(qū)別于其它必須自己生成unique 的 唯一主鍵列)
什么情況下考慮:當你不想它的id從1開始自增就可以設(shè)定。其實表中有數(shù)據(jù),有沒有都無所謂...,因為是服務(wù)器session內(nèi)有效。 這個值只在兩種情況下設(shè)置:
1.建表:建表修改起始值,完成后這個值就會保存在內(nèi)存中,每次重啟mysql服務(wù)器,innodb都要自己去查詢這個值,重新計算的
2.alter:使用alter可以臨時改變內(nèi)存中的auto_increment值,但重啟mysql服務(wù)器,innodb都會自己重新計算.
3.這個值只保存在內(nèi)存中,每次重啟mysql相當于以下操作:
select MAX(id) as max_id from table set auto_increment = max_id+1
添加回答
舉報
0/150
提交
取消