mysql设置主键自增,删除部分数据,将主键顺序重新排序解决方案

您所在的位置:网站首页 sql重新排序 mysql设置主键自增,删除部分数据,将主键顺序重新排序解决方案

mysql设置主键自增,删除部分数据,将主键顺序重新排序解决方案

2024-07-11 03:07| 来源: 网络整理| 查看: 265

原因:在进行数据的插入删除的时候,总会有以前创建的数据被删除的情况,但是删除后再添加,还是从当前id最大的值进行自增的,所以是这样下去可能时间长了就会超出范围

解决方案: 如果直接在数据库中进行操作,直接跳过前两步,直接第三步即可。 第一步:对你的项目进行配置,因为像是springboot的框架中,要想执行多条语句,要进行相关的配置如下: url: jdbc:mysql://localhost:3306/dare?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8&allowMultiQueries=true 最重要的是&allowMultiQueries=true要加到对应的语句后边

第二步:检查项目是否使用druid的数据池如果使用用了,要使用以下配置文件:见我另一篇博客最后的解决方案:https://blog.csdn.net/qq_37699336/article/details/114811392?spm=1001.2014.3001.5501

第三步: 1、如果是直接在数据库管理软件/或后台执行语句:

ALTER TABLE `table_name` DROP `id`; ALTER TABLE `table_name` ADD `id` int NOT NULL FIRST; ALTER TABLE `table_name` MODIFY COLUMN `id` int NOT NULL AUTO_INCREMENT,ADD PRIMARY KEY(id);

2、如果是在对应的项目中,则在对应的mapper的xml文件中执行

解释:因为我是想的是在删除数据后对表中的id重置,所以我就把alter语句直接放到delete语句中了,已经过测试 delete from apqp_schedule_temp where emp_no = #{empNo}; ALTER TABLE `table_name` DROP `id`; ALTER TABLE `table_name` ADD `id` int NOT NULL FIRST; ALTER TABLE `table_name` MODIFY COLUMN `id` int NOT NULL AUTO_INCREMENT,ADD PRIMARY KEY(id);


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3