當(dāng)我們?cè)贛ySQL數(shù)據(jù)庫(kù)中使用刪除語句刪除表中的記錄時(shí),會(huì)發(fā)現(xiàn)刪除后自增ID并沒有連續(xù)變化,可能會(huì)出現(xiàn)一些空隙。造成這種現(xiàn)象的原因是MySQL刪除表中記錄時(shí),并不會(huì)將自增ID也跟著刪除。
如果我們想要讓自增ID連續(xù)自增,可以通過以下兩種方法來實(shí)現(xiàn):
1、使用TRUNCATE語句
TRUNCATE TABLE table_name;
使用TRUNCATE語句會(huì)將整個(gè)表格刪除,再重新創(chuàng)建一個(gè)相同結(jié)構(gòu)的空表,自增ID自然會(huì)從1開始逐個(gè)自增。
2、使用ALTER語句改變表的結(jié)構(gòu)
ALTER TABLE table_name AUTO_INCREMENT=1;
這條語句可以將表的自增ID設(shè)置為1,下次添加記錄時(shí)就會(huì)自動(dòng)按照1開始自增。但需要注意的是,如果這個(gè)表中已經(jīng)存在記錄,那么下次添加記錄時(shí)會(huì)從已存在的記錄的自增值+1開始自增。
總的來說,使用TRUNCATE語句會(huì)更加徹底一些,但是如果表中有關(guān)聯(lián)的外鍵,就可能會(huì)出現(xiàn)刪除失敗的情況,此時(shí)可以使用第二種方法進(jìn)行處理。