详细步骤如下:
1、备份表结构(对数据表操作之前备份一下是个好习惯)
create table table_name_copy like table_name;
2、备份表数据
insert into table_name_copy select * from table_name;
也可以使用navicat直接 ctrl+c ctrl+v
3、删除原来主键字段(如id)
alter table table_name drop id;
4、添加主键,自增,放在第一位
alter table table_name add id int(11) primary key auto_increment first;
5、设置自增id
alter table table_name AUTO_INCREMENT=3140731;
6、删除备份。检查没问题的话,备份的表可以删了
delete from table_name_copy;
当然了,导致id断裂的原因,还是MySQL事务回滚,但是自增id还是会增加。以上方法只适用于没有id字段关联的场景。