需求:
将原自增长主键值整体+1000 、 起始值1000 、 最大ID5000
执行更新语句报错、主键重复
UPDATE table_name SET id= id+1000;
解决方法
设置为不自动增长:alter table table_name modify id int(11);
或者alter table table_name change id id int;具有更改字段名功能
删除主键:alter table table_name drop primary key;
执行语句:UPDATE table_name SET id= id+1000;
成功之后设回主键
alter table table_name add primary key(id); 添加主键唯一性约束
当然如果是执行
UPDATE table_name SET id= id+4001;
也是不会报错的。
本文介绍了一种在MySQL中更新自增长主键值的方法,避免了因主键重复导致的错误。通过先暂停主键自增特性,修改主键值,再重新设置主键,实现了批量更新主键值的需求。
1843

被折叠的 条评论
为什么被折叠?



