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

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