网上搜了重置mysql自增id的方法都是这个方法,但是我试了执行这三代码后数据库id全变1了,怎么回事?
我是把这三代码里的table_name改成自己的表名
1,删除原有主键:
ALTERTABLEtable_name
DROPid
;
-----------------------------------------------------
网友回复:
引用:wltc2005发表于2020-7-2210:54
还有一招,导出后改了再导回去
网友回复:
你这是什么鬼操作.
最简单的方法删了表重建.
不想这样的话可以altertablexxxauto_increment=1
网友回复:
这不是正常吗难道你要
123456789,把5删了以后再加一条变成123467895吗
网友回复:
新建一个相同结构的表,然后使用sql语句把老表插入新表(不插入id)数据量太大可能会慢。
网友回复:
mysql自增id就是这样的,除非你删除一条后,自己手动维护自增id
ALTERTABLEuserAUTO_INCREMENT =要开始的id值
网友回复:
引用:杰克王发表于2020-7-2210:57
这不是正常吗难道你要
123456789,把5删了以后再加一条变成123467895吗
网友回复:
引用:httpd发表于2020-7-2211:00
不是,就按自然数排序,有2000条数据就老老实实1-2000,中间不跳数字
网友回复:
引用:杰克王发表于2020-7-2211:03
自动id应该做不到吧?
除非你自己定期导出导入
网友回复:
用uuid吧这是最简单的
或者百度下雪花算法纯代码实现唯一主键
网友回复:
删了第755条之后的垃圾数据后id仍然从最后一条被删的垃圾数据id开始增加,我想重新给755之后排序下一条id756
网友回复:
人家策略就是这样的这样插入速度快而且肯定不会主键冲突