将一张表的主键(ID)重置为从1开始自增排列或主键从varchar改为int并自增

wylc123 1年前 ⋅ 1721 阅读

如果你有一张表,你的主键是ID,然后由于测来测去的原因,你的ID不是从1开始连续的自增了。

终于有一天,使用这张表的某个系统要导入正式数据了,强迫症这时候就表现的明显了,浑身不自在,

这时候你就需要将这个主键ID重置一波了,方法是在这张表中新增一个字段,将ID里面的数据复制过去,

然后删除ID字段,接着新建一个ID字段,再接着将id字段自增且设为主键,最后将这个新增的ID列挪到第一列,

将那个用于复制最初ID内容的新增字段删除,一切OK.

#1、在要操作的表 kg_word_item_PPPPPPPP 中新增一个字段 old_id;
alter table  kg_word_item_PPPPPPPP  add old_id varchar(64) not null;
#2、将 id 字段的数据复制给 old_id;
update kg_word_item_PPPPPPPP set old_id=id;
#3、删除 id 字段;
alter table kg_word_item_PPPPPPPP drop id;
#4、新增一个 id 字段
alter table kg_word_item_PPPPPPPP add id int(10) not null;
#5、将这个新增的 id 字段设置为自增主键;
alter table kg_word_item_PPPPPPPP modify column id int(10) not null auto_increment, add primary key (id);
#6、删除 old_id 列;
alter table kg_word_item_PPPPPPPP drop column old_id;
#7、将最新的 id 列挪到最前面;
alter table kg_word_item_PPPPPPPP modify id int(10) first;
更多内容请访问:IT源点

相关文章推荐

全部评论: 0

    我有话说: