欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL數(shù)據(jù)庫(kù)刪除數(shù)據(jù)自增ID不連續(xù)的實(shí)現(xiàn)示例

 更新時(shí)間:2024年11月11日 09:28:17   作者:淺天yxc  
本文介紹了MySQL數(shù)據(jù)庫(kù)刪除數(shù)據(jù)后自增ID不連續(xù)的問(wèn)題,文中通過(guò)2種方法解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

MySQL數(shù)據(jù)庫(kù)刪除數(shù)據(jù)后,再新增數(shù)據(jù)就會(huì)導(dǎo)致自增ID不連續(xù)

解決方法

1. 刪除一行數(shù)據(jù)后,其后數(shù)據(jù)自增ID值減一(mapper.xml)

update 表名 set id = id - 1 where id > #{deleteId}

2.  更新下一個(gè)自增ID值

當(dāng)設(shè)置值小于 max(id) 時(shí),會(huì)自動(dòng)設(shè)置為 max(id)+1 ,故一般設(shè)置為1就好

alter table 表名 auto_increment = 1

性能優(yōu)化

上述方法每次刪除數(shù)據(jù)都要執(zhí)行,可通過(guò)MySql的定時(shí)任務(wù)實(shí)現(xiàn)性能優(yōu)化——每天零點(diǎn)進(jìn)行自增ID重置

1. 定義重置自增ID的存儲(chǔ)過(guò)程

create procedure p_reset_id()
begin
    set @i = 0;
    update 表名 set id = (@i := @i + 1);
    alter table 表名 auto_increment = 1;
end

2.  開啟事件調(diào)度器

show variables like 'event_scheduler';
set global event_scheduler = on;

3. 定義事件/定時(shí)任務(wù)

create event e_reset_id
on schedule every 1 day 
starts '2024-10-12 00:00:00'
do call p_reset_id();

到此這篇關(guān)于MySQL數(shù)據(jù)庫(kù)刪除數(shù)據(jù)自增ID不連續(xù)的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)MySQL 刪除數(shù)據(jù)自增ID不連續(xù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • MySQL 5.5/5.6/5.7及以上版本安裝包安裝時(shí)如何選擇安裝路徑

    MySQL 5.5/5.6/5.7及以上版本安裝包安裝時(shí)如何選擇安裝路徑

    最近mysql官方網(wǎng)站的安裝包從5.5-5.7起都是新版的安裝界面,各種環(huán)境要求支持,看樣子以后老點(diǎn)的系統(tǒng)安裝都?jí)蛸M(fèi)勁的了,這里腳本之家小編特為大家整理一下安裝步驟與方法
    2016-04-04
  • MYSQL中SWITCH語(yǔ)句和循環(huán)語(yǔ)句舉例詳解

    MYSQL中SWITCH語(yǔ)句和循環(huán)語(yǔ)句舉例詳解

    MySQL提供了多種循環(huán)語(yǔ)句來(lái)實(shí)現(xiàn)循環(huán)操作,其中包括while循環(huán)、loop循環(huán)、repeat循環(huán)和非標(biāo)準(zhǔn)的goto循環(huán),下面這篇文章主要給大家介紹了關(guān)于MYSQL中SWITCH語(yǔ)句和循環(huán)語(yǔ)句的相關(guān)資料,需要的朋友可以參考下
    2024-06-06
  • mysql主從同步原理及應(yīng)用場(chǎng)景示例詳解

    mysql主從同步原理及應(yīng)用場(chǎng)景示例詳解

    這篇文章主要為大家介紹了mysql主從同步原理及應(yīng)用場(chǎng)景示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • MySQL數(shù)據(jù)庫(kù)列的增刪改實(shí)現(xiàn)方法

    MySQL數(shù)據(jù)庫(kù)列的增刪改實(shí)現(xiàn)方法

    這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)列的增刪改實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了mysql數(shù)據(jù)庫(kù)針對(duì)列的增加、修改、刪除等相關(guān)操作sql命令及使用技巧,需要的朋友可以參考下
    2019-03-03
  • 詳解MySQL8中的新特性窗口函數(shù)

    詳解MySQL8中的新特性窗口函數(shù)

    MySQL8?窗口函數(shù)是一種特殊的函數(shù),它可以在一組查詢行上執(zhí)行類似于聚合的操作,但是不會(huì)將查詢行折疊為單個(gè)輸出行,而是為每個(gè)查詢行生成一個(gè)結(jié)果,本文就來(lái)和大家簡(jiǎn)單講講它的用法,感興趣的可以了解一下
    2023-06-06
  • linux下安裝mysql及mysql.sock問(wèn)題

    linux下安裝mysql及mysql.sock問(wèn)題

    最近在linux上裝mysql時(shí)遇到一些棘手的問(wèn)題,百思不得其解,下面小編給大家?guī)?lái)了linux下安裝mysql及mysql.sock問(wèn)題,感興趣的朋友一起看看吧
    2018-03-03
  • Mysql自增主鍵id不是以此逐級(jí)遞增的處理

    Mysql自增主鍵id不是以此逐級(jí)遞增的處理

    這篇文章主要介紹了Mysql自增主鍵id不是以此逐級(jí)遞增的處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 揭秘SQL優(yōu)化技巧 改善數(shù)據(jù)庫(kù)性能

    揭秘SQL優(yōu)化技巧 改善數(shù)據(jù)庫(kù)性能

    這篇文章是以 MySQL 為背景,很多內(nèi)容同時(shí)適用于其他關(guān)系型數(shù)據(jù)庫(kù),需要有一些索引知識(shí)為基礎(chǔ),重點(diǎn)講述如何優(yōu)化SQL,來(lái)提高數(shù)據(jù)庫(kù)的性能
    2012-01-01
  • 一文解析MySQL的MVCC實(shí)現(xiàn)原理

    一文解析MySQL的MVCC實(shí)現(xiàn)原理

    這篇文章主要介紹了MySQL的MVCC實(shí)現(xiàn)原理,MVCC全稱是Multi-Version?Concurrency?Control是一種并發(fā)控制的方法,通過(guò)維護(hù)一個(gè)數(shù)據(jù)的多個(gè)版本,減少讀寫操作的沖突
    2022-08-08
  • MySQL存儲(chǔ)過(guò)程的創(chuàng)建、調(diào)用與管理詳解

    MySQL存儲(chǔ)過(guò)程的創(chuàng)建、調(diào)用與管理詳解

    這篇文章主要給大家介紹了關(guān)于MySQL存儲(chǔ)過(guò)程的創(chuàng)建、調(diào)用與管理的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03

最新評(píng)論