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為舉例值,實際值看你自己
舉例:
在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)的自增策略
重點?。?! 重點?。。?!
其中修改的原則為:如果id值大于當(dāng)前表的最大id,則設(shè)置無法生效。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用MySQL Slow Log來解決MySQL CPU占用高的問題
在Linux VPS系統(tǒng)上有時候會發(fā)現(xiàn)MySQL占用CPU高,導(dǎo)致系統(tǒng)的負(fù)載比較高。這種情況很可能是某個SQL語句執(zhí)行的時間太長導(dǎo)致的。優(yōu)化一下這個SQL語句或者優(yōu)化一下這個SQL引用的某個表的索引一般能解決問題2013-03-03
MySQL數(shù)據(jù)類型和常用字段屬性總結(jié)
這篇文章主要介紹了MySQL數(shù)據(jù)類型和常用字段屬性總結(jié),本文總結(jié)了日期和時間數(shù)據(jù)類型、數(shù)值數(shù)據(jù)類型、字符串?dāng)?shù)據(jù)類型等,需要的朋友可以參考下2014-09-09
MySQL主從復(fù)制(日志核心)完整教程(適合新手操作)
MySQL主從復(fù)制用于多個數(shù)據(jù)庫服務(wù)器之間的數(shù)據(jù)同步,它可以提供高可用性、提高數(shù)據(jù)庫整體性能和吞吐量,以及可以進(jìn)行數(shù)據(jù)備份和數(shù)據(jù)庫恢復(fù),這篇文章主要介紹了MySQL主從復(fù)制(日志核心)的相關(guān)資料,需要的朋友可以參考下2026-03-03
mysql執(zhí)行計劃id為空(UNION關(guān)鍵字)詳解
這篇文章主要給大家介紹了關(guān)于mysql執(zhí)行計劃id為空(UNION關(guān)鍵字)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09
使用Navicat連接遠(yuǎn)程服務(wù)器中在docker中運行的MySQL數(shù)據(jù)庫全過程
文章介紹了如何使用Navicat客戶端連接到運行在Docker容器中的MySQL數(shù)據(jù)庫,首先,需要獲取服務(wù)器的公網(wǎng)IP和MySQL容器的IP地址,然后,在Navicat中配置SSH連接到服務(wù)器,并測試連接,接著,配置MySQL連接參數(shù),并再次測試連接,最后,確認(rèn)連接成功2026-03-03
MYSQL數(shù)字函數(shù)詳解及實戰(zhàn)記錄(數(shù)字函數(shù)大全,內(nèi)含示例)
數(shù)學(xué)運算函數(shù)可以實現(xiàn)常見的數(shù)學(xué)運算,這篇文章主要給大家介紹了關(guān)于MYSQL數(shù)字函數(shù)詳解及實戰(zhàn)的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01
Mysql+Navicat16長期免費直連數(shù)據(jù)庫安裝使用超詳細(xì)教程
這篇文章主要介紹了Mysql+Navicat16長期免費直連數(shù)據(jù)庫安裝教程,這里下載的是mysql8版本,第一個安裝包比較小, 第二個安裝包比較大, 因為包含調(diào)試工具,我這里下載的是第一個,詳細(xì)介紹跟隨小編一起看看吧2023-11-11

