MySQL設(shè)置自增字段的方法介紹
如何實(shí)現(xiàn)MySQL設(shè)置自增字段是許多人都問(wèn)到的問(wèn)題,下面就為您介紹MySQL設(shè)置自增字段的相關(guān)知識(shí),希望對(duì)您學(xué)習(xí)MySQL數(shù)據(jù)庫(kù)能有所啟迪。
MySQL設(shè)置自增字段的相關(guān)語(yǔ)句:
alter table album change ALBUM_ID ALBUM_ID bigint not null auto_increment;
alter table album auto_increment=1;
創(chuàng)建:
mysql>create table cc(id int auto_increment,name varchar(20),primary key(id));
修改:
mysql> alter table cc change id id int primary key auto_increment;
注:只有int類(lèi)型且為primary key 才可以使用auto_increment.
如果用hibernate作為持久層,那么主鍵ID處用identity類(lèi)型.
對(duì)于一個(gè)表主鍵的選擇,從架構(gòu)設(shè)計(jì)角度來(lái)說(shuō),盡量設(shè)計(jì)一個(gè)與業(yè)務(wù)無(wú)關(guān)的字段來(lái)作為主鍵會(huì)對(duì)系統(tǒng)更好
當(dāng)然,這勢(shì)必會(huì)增加表數(shù)據(jù)量的大小,可能有些人會(huì)認(rèn)為這個(gè)副作用不值得而選擇一個(gè)有業(yè)務(wù)意義的字段(或者多個(gè)字段)來(lái)作為主鍵
但是對(duì)于大多數(shù)時(shí)候,這個(gè)字段所增加的物理存儲(chǔ)空間實(shí)際上是很小的,并沒(méi)有很多人想象的那么可怕。而帶來(lái)邏輯上的簡(jiǎn)單是很可觀的。
另外,是否選擇自增類(lèi)型作為主鍵,這個(gè)可以說(shuō)是各有好處,如果用自增,應(yīng)用可以不care這個(gè)主鍵的值得設(shè)定,但是有在高并發(fā)下成為瓶頸的風(fēng)險(xiǎn),當(dāng)然如果并發(fā)并不是非常非常高的話,一般不會(huì)成為瓶頸。如果自己控制這個(gè)主鍵值的話,更需要付出一點(diǎn)點(diǎn)代價(jià)來(lái)生成這個(gè)值,并發(fā)問(wèn)題可以通過(guò)擴(kuò)展應(yīng)用集群來(lái)解決。
以上就是MySQL設(shè)置自增字段相關(guān)知識(shí)的介紹。
【編輯推薦】
常見(jiàn)MySql字段的默認(rèn)長(zhǎng)度