mysql數(shù)據(jù)庫(kù)id主鍵自增加刪除后不連續(xù)如何解決
mysql數(shù)據(jù)庫(kù)id主鍵自增加刪除后不連續(xù)
在主鍵id刪除某一條后,再次添加,刪除的id不會(huì)使用,這是為了主鍵的唯一性,但是在程序中可能會(huì)出現(xiàn)問(wèn)題,導(dǎo)致前后端不統(tǒng)一。
解決問(wèn)題的思路
修改開(kāi)始自增加的id,從而讓自增加開(kāi)始于你設(shè)置的值
用到的方法
alter table category auto_increment = 100
100為舉例值,實(shí)際值看你自己
舉例:
在tp5中
//先用max方法獲取當(dāng)前最大的id,然后加1,保存為變量 $max_id = DB::name('category') ->max('category_id'); //id+1 $max_id++; //重置自動(dòng)增加為當(dāng)前最大值加1 DB::execute("alter table category auto_increment=".$max_id);
vite動(dòng)態(tài)導(dǎo)入頁(yè)面動(dòng)態(tài)import組件
問(wèn)題
之前數(shù)據(jù)庫(kù)數(shù)據(jù)量太大,導(dǎo)致后期數(shù)據(jù)庫(kù)使用時(shí)id數(shù)目太大,因此需要重新修改表的id大小
解決方法
第一種:
本人使用heidisql 可直接通過(guò)操作頁(yè)面修改下一個(gè)自增id的值,如下圖修改保存即可
第二種:
通過(guò)命令行處理 :alter table 表名 AUTO_INCREMENT=11; 一行命令直接搞定。
但要注意如果使用了mybatis的主鍵自增策略,就要做相應(yīng)設(shè)置了,設(shè)成與數(shù)據(jù)庫(kù)相對(duì)應(yīng)的自增策略
重點(diǎn)?。?! 重點(diǎn)?。。。?/strong>
其中修改的原則為:如果id值大于當(dāng)前表的最大id,則設(shè)置無(wú)法生效。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
mysql 5.7.17 winx64免安裝版配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了mysql 5.7.17 winx64免安裝版配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01MySQL的指定范圍隨機(jī)數(shù)函數(shù)rand()的使用技巧
這篇文章主要介紹了MySQL的指定范圍隨機(jī)數(shù)函數(shù)rand()的使用技巧,需要的朋友可以參考下2016-09-09mysql mysqldump數(shù)據(jù)備份和增量備份
本篇文章主要講如何使用shell實(shí)現(xiàn)mysql全量,增量備份,還可以按時(shí)間備份。2013-10-10MYSQL METADATA LOCK(MDL LOCK) 理論及加鎖類型測(cè)試
這篇文章主要介紹了MYSQL METADATA LOCK(MDL LOCK)的內(nèi)容,有理論知識(shí)和加鎖類型測(cè)試的以下代碼,感興趣的朋友請(qǐng)參考下午文2021-09-09在MySQL中實(shí)現(xiàn)二分查找的詳細(xì)教程
這篇文章主要介紹了在MySQL中實(shí)現(xiàn)二分查找的詳細(xì)教程,來(lái)自計(jì)算機(jī)研究生考試原題,需要的朋友可以參考下2015-05-05