在MySQL中,自增數(shù)值是指在自增列中,每插入一行數(shù)據(jù)后,該列的值會自動加1。通常情況下,MySQL會從1開始自增。但在某些情況下,我們可能需要更改自增列的起始值。下面,我將向大家介紹如何在MySQL中調(diào)整自增數(shù)值。
注:以下代碼的演示環(huán)境為MySQL 8.0。 首先,我們需要先創(chuàng)建一個含有自增列的表。如下所示: CREATE TABLE user ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(50) NOT NULL, PRIMARY KEY (id) ); 執(zhí)行以上代碼后,我們創(chuàng)建了一個名為user的表,其中id列為自增列。 接下來,我們將向該表中插入一些數(shù)據(jù)。此時,我們會發(fā)現(xiàn)插入的數(shù)據(jù)的id值會從1開始自增,如下所示: INSERT INTO user (name) VALUES ('Tom'); INSERT INTO user (name) VALUES ('Jerry'); INSERT INTO user (name) VALUES ('Bob'); 此時,id的值分別為1、2、3。 如果我們需要將id的起始值改為100,可以使用以下代碼: ALTER TABLE user AUTO_INCREMENT = 100; 執(zhí)行以上代碼后,我們再次插入數(shù)據(jù)時,id的值將從100開始自增,如下所示: INSERT INTO user (name) VALUES ('Mike'); INSERT INTO user (name) VALUES ('Lily'); INSERT INTO user (name) VALUES ('Lucy'); 此時,id的值分別為100、101、102。 需要注意的是,如果我們將自增列的起始值設(shè)置為一個已存在的值,MySQL會將后續(xù)插入的id值從該值開始自增。例如,我們將自增列的起始值設(shè)置為2,那么執(zhí)行以下語句: INSERT INTO user (id, name) VALUES (1, 'John'); 則會報錯,因為id為1的值已存在。而如果我們執(zhí)行以下語句: INSERT INTO user (name) VALUES ('John'); 則會插入一條數(shù)據(jù),其中id的值為2,因為我們之前已將自增列的起始值設(shè)置為2。