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