mysql数据库id主键自增加删除后不连续如何解决
mysql数据库id主键自增加删除后不连续
在主键id删除某一条后,再次添加,删除的id不会使用,这是为了主键的唯一性,但是在程序中可能会出现问题,导致前后端不统一。
解决问题的思路
修改开始自增加的id,从而让自增加开始于你设置的值
用到的方法
alter table category auto_increment = 100
100为举例值,实际值看你自己
举例:
在tp5中
//先用max方法获取当前最大的id,然后加1,保存为变量
$max_id = DB::name('category') ->max('category_id');
//id+1
$max_id++;
//重置自动增加为当前最大值加1
DB::execute("alter table category auto_increment=".$max_id);vite动态导入页面动态import组件
问题
之前数据库数据量太大,导致后期数据库使用时id数目太大,因此需要重新修改表的id大小
解决方法
第一种:
本人使用heidisql 可直接通过操作页面修改下一个自增id的值,如下图修改保存即可

第二种:
通过命令行处理 :alter table 表名 AUTO_INCREMENT=11; 一行命令直接搞定。
但要注意如果使用了mybatis的主键自增策略,就要做相应设置了,设成与数据库相对应的自增策略
重点!!! 重点!!!!
其中修改的原则为:如果id值大于当前表的最大id,则设置无法生效。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
mysql 5.7.17 winx64免安装版配置方法图文教程
这篇文章主要为大家详细介绍了mysql 5.7.17 winx64免安装版配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-01-01
MYSQL METADATA LOCK(MDL LOCK) 理论及加锁类型测试
这篇文章主要介绍了MYSQL METADATA LOCK(MDL LOCK)的内容,有理论知识和加锁类型测试的以下代码,感兴趣的朋友请参考下午文2021-09-09


最新评论