需求描述:
从主键1开始,insert操作自增了五个,库里五条数主键是1、2、3、4、5;
然后把主键是3、4、5的三条数据给删了,再继续insert,主键就是6了
因为这里表会把最大的数即5记住,下次自增即为5+1,当前期望是重新记一下最大值,再自增为3
原因:
原因是今天发现某个表Long类型的主键自增太长了,导致前端都精度丢失了,就研究了一下,然后发现某次手抖,手动给字段手动写值一个极长数据的时候,给写到主键这一栏了,虽然及时改回去了,但MySQL的主键可不管这些,他只记住了这最大值从一百多突然变成了几万亿,下次再自增就拿这个天文数字+1吧桀桀桀桀桀桀 ( ͡° ͜ʖ ͡°)
解决办法:
使用这句SQL,把主键自增重置一下,相当于让主键失忆一下,下次自增时去库里看一下现在新增到多少了,最大的主键是多少,再以此为基础+1即可
ALTER TABLE sys_user AUTO_INCREMENT = 1;