MySQL數(shù)據(jù)庫中的主鍵自增類型是一種非常常見的設(shè)定。在創(chuàng)建表的時(shí)候,可以在一個(gè)字段后面加上AUTO_INCREMENT關(guān)鍵字,即可將該字段設(shè)為主鍵且自增。
CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL, `age` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
在這個(gè)例子中,id字段是主鍵且自增。因?yàn)樗侵麈I,所以不能有重復(fù)的值。因?yàn)樗亲栽觯悦看尾迦霐?shù)據(jù)時(shí)MySQL會(huì)自動(dòng)將其設(shè)為比前一個(gè)插入的值大1的數(shù)字。這對(duì)于一些需要按照時(shí)間順序排序的表格非常有用。
值得注意的是,主鍵自增并不僅僅可以用于整型數(shù)據(jù)。雖然大多數(shù)情況下我們只會(huì)將它用于整型主鍵,但也可以將其用于字符串等其他類型的數(shù)據(jù)。例如:
CREATE TABLE `person` ( `id` varchar(36) NOT NULL DEFAULT '', `name` varchar(50) NOT NULL, `age` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
這里將id設(shè)定為varchar類型,但仍然可以將其設(shè)為主鍵且自增。此時(shí),每次插入數(shù)據(jù)時(shí)MySQL會(huì)自動(dòng)將其設(shè)為前一次插入數(shù)據(jù)的值加1,這樣就可以保證id的唯一性。
總之,MySQL主鍵自增類型非常實(shí)用,可以讓我們更加高效地操作數(shù)據(jù)庫。對(duì)于需要排序或者保持唯一性的數(shù)據(jù),可以考慮使用這種設(shè)定。