MySQL自增ID是MySQL數(shù)據(jù)庫的一種簡(jiǎn)單而又強(qiáng)大的特性。每當(dāng)插入一條新的記錄時(shí),MySQL自動(dòng)為其賦予一個(gè)唯一的標(biāo)識(shí)符,通常是一個(gè)整數(shù)。這個(gè)標(biāo)識(shí)符作為該記錄的主鍵,可以方便地對(duì)記錄進(jìn)行更新、刪除和查詢。
CREATE TABLE `mytable` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `name` VARCHAR(255) NOT NULL, `age` INT(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
以上是MySQL中創(chuàng)建一個(gè)帶有自增ID的表的語法。注意到“id INT(11) NOT NULL AUTO_INCREMENT”,這里的AUTO_INCREMENT就是指明了這個(gè)字段是主鍵,并要求每次插入時(shí)自動(dòng)加1。
數(shù)據(jù)倉庫中的事實(shí)表也是常常采用自增ID作為主鍵的。這是因?yàn)榇蟛糠謹(jǐn)?shù)據(jù)倉庫設(shè)計(jì)采用分批次逐步加載數(shù)據(jù),但到底加載了多少記錄時(shí)就不一定了。通過使用自增ID作為主鍵,同步實(shí)現(xiàn)了數(shù)據(jù)加載和數(shù)據(jù)更新。