MySql 主鍵自增重置器(統一處理多個表)
resetAutoincrement
是一款基於Java
開發的程序,其功能爲重置mysql
數據庫表的主鍵自增的值爲最近的一個。
介紹
開發背景主要是工作中,測試同學在清理數據的時候,使用的是 DELETE
進行刪庫(其實可以使用 TRUNCATE
),刪庫完畢後會造成主鍵自增的值並沒有歸0,而是繼續計算下去(如:數據庫新插入一條數據,id
爲 483
,但是我期望的是從 1
開始),作爲有點略微強迫症的小開發,我就在思考能否寫一個程序來重置 Mysql
的 auto_increment
值,於是乎寫了這個 Java 程序。
項目地址
github地址
:https://github.com/chimmhuang/resetAutoincrement碼雲地址
:https://gitee.com/chimmhuang/resetAutoincrement
環境說明
JDK
:1.8
MySql
:5.7
程序演示
視頻網站 | 地址 |
---|---|
嗶哩嗶哩 | https://www.bilibili.com/video/av84268614 |
Youtube | https://youtu.be/cd724k13Z5I |
目錄結構
.
├── actuator 該目錄下存放執行器接口及其實現類,整個程序的核心實現
├── config 數據庫鏈接的配置信息存放於此,也可以使用properties配置文件替換
├── exception 異常類存放於此
├── pojo 實體類存放於此
├── run 整個程序的啓動目錄,執行`main`即可啓動程序
└── validation 該目錄下存放校驗類的信息,目前只寫了一個校驗數據庫連接配置信息的類
使用說明
- 本人測試的數據庫demo sql語句
CREATE TABLE `demo` (
`id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主鍵',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='demo數據庫';
CREATE TABLE `demo02` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`remarks` varchar(32) DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='demo02數據庫';
- 在
config
目錄下配置好數據庫的連接信息 - 在
run
目錄下啓動main
方法即可執行
聯繫作者
email
:[email protected]
QQ
:905369866