mysql自增長ID字段丟失問題及解決
之前面試的時(shí)候遇到一個(gè)問題,因?yàn)槠綍r(shí)自己都是用的mysql 8.0+ 版本所以這里踩了一個(gè)坑記錄一下
一、場景
假如在對一個(gè)有自增長ID的一個(gè)表新增 id分別為 1,2,3,4,5數(shù)據(jù)時(shí),在進(jìn)行刪除id 為5的數(shù)據(jù)成功后
mysql 宕機(jī)了,重啟了對這張表重新插入數(shù)據(jù),那么這個(gè)自增長ID 會(huì)從多少開始
二、場景分析
1.針對于innodb(MYSQL 事務(wù)存儲(chǔ)引擎)
在mysql 8.0 版本之前,mysql對于自增長ID屬性auto-increment 的值都是存儲(chǔ)在內(nèi)存中的,當(dāng)mysql發(fā)生重啟或者宕機(jī)的情況下,內(nèi)存中的值會(huì)丟失,這個(gè)屬性就會(huì)被重新計(jì)算,計(jì)算方式是max(自增長id)+1
在mysql 8.0 之前 針對這個(gè)問題進(jìn)行了修復(fù),把屬性auto-increment 放入到了本地磁盤中進(jìn)行一個(gè)持久化的操作
2.對于MyISAM(MYSQL 非事務(wù)存儲(chǔ)引擎)
MyISAM 的話在mysql 8.0和8.0之后都不會(huì)發(fā)生自增ID丟失的情況
總結(jié)
例如:
上述問題主要需要根據(jù)mysql版本和不同存儲(chǔ)引擎是否對自增長ID進(jìn)行一個(gè)持久化操作來進(jìn)行分析不同的情況
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
MySQL處理重復(fù)數(shù)據(jù)插入的處理方案
在數(shù)據(jù)庫操作中,處理重復(fù)數(shù)據(jù)插入是一個(gè)常見的需求,特別是在批量插入數(shù)據(jù)時(shí),可能會(huì)遇到主鍵沖突或唯一鍵沖突(Duplicate entry)的情況,本文將以一個(gè)實(shí)際的Python MySQL數(shù)據(jù)庫操作為例,分析如何優(yōu)化異常處理邏輯,需要的朋友可以參考下2025-04-04
MySQL中空值處理COALESCE函數(shù)及COALESCE函數(shù)使用
COALESCE是SQL標(biāo)準(zhǔn)函數(shù),返回參數(shù)列表中首個(gè)非空值,支持多參數(shù)處理,適用于查詢、條件判斷、排序等場景,與IFNULL等函數(shù)相比更靈活,可避免空值錯(cuò)誤,提升查詢健壯性,本文給大家介紹MySQL中空值處理COALESCE函數(shù)及coalesce函數(shù)的使用,感興趣的朋友一起看看吧2025-09-09
mysql 定時(shí)任務(wù)的實(shí)現(xiàn)與使用方法示例
這篇文章主要介紹了mysql 定時(shí)任務(wù)的實(shí)現(xiàn)與使用方法,結(jié)合實(shí)例形式分析了MySQL定時(shí)任務(wù)的相關(guān)原理、創(chuàng)建及使用方法,需要的朋友可以參考下2019-11-11
Mysql實(shí)現(xiàn)導(dǎo)出表結(jié)構(gòu)和數(shù)據(jù)過程
文章主要內(nèi)容是關(guān)于如何導(dǎo)出和導(dǎo)入MySQL數(shù)據(jù)庫中的表結(jié)構(gòu)和數(shù)據(jù),包括導(dǎo)出指定表的結(jié)構(gòu)和數(shù)據(jù),以及如何在本地和遠(yuǎn)程服務(wù)器之間傳輸數(shù)據(jù),文章還提到在PHP中使用`mysql_connect`函數(shù)時(shí)的一些注意事項(xiàng)2025-12-12
MySql子查詢IN的執(zhí)行和優(yōu)化的實(shí)現(xiàn)
本文主要介紹了MySql子查詢IN的執(zhí)行和優(yōu)化的實(shí)現(xiàn),詳細(xì)的介紹了為什么IN這么慢以及如何優(yōu)化,具有一定的參考價(jià)值,感興趣的可以了解一下2021-07-07
MySQL 事務(wù)隔離級(jí)別及實(shí)際業(yè)務(wù)應(yīng)用場景
本文詳細(xì)介紹了MySQL的四種事務(wù)隔離級(jí)別(READ UNCOMMITTED、READ COMMITTED、REPEATABLE READ、SERIALIZABLE),并探討了每種隔離級(jí)別在實(shí)際業(yè)務(wù)中的應(yīng)用場景,感興趣的朋友跟隨小編一起看看吧2026-01-01

