mysql百万级别重排主键id(网上的删除重建id在大数据量下会出错)

网上教程:

先删除旧的主键 再新建主键 ;数据量少时没问题,不会出现主键自增空缺间隔的情况(如:1,2,3,5);但是大数据量时会出现如上所述问题(可能是内部mysql多进程或多线程同时操作引起问题)。

 

解决办法:

表结构如下:

 

执行mysql 脚本如下:

# 创建表备份
create table user_account_copy like user_account;
# 插入数据
INSERT INTO user_account_copy (mobile,passwd,role,created_time,updated_time) select mobile,passwd,role,created_time,updated_time from user_account;
# 重命名表
rename table user_account to user_account_old;
rename table user_account_copy to user_account;

 

解决问题的思路:从 user_account表插入数据到user_account_copy时 只 插入 非 主键的数据,每插入一条数据 主键就会自增一条;

 

效果如下图:

 

posted @ 2019-07-17 17:12  RGC  阅读(842)  评论(0编辑  收藏  举报