原来有一个表中的主键是int自增长类型,
因为业务变化需要把int改成char类型的主键。同时因为原来的表中已经存在了数据,不能删除表重建,只能修改表结构。
首先去掉自增长属性:
alter table table_name change indexid indexid int;
然后去掉主键:
ALTER TABLE table_name DROP primary key;
修改表结构为char类型:
alter table table_name change indexid indexid char(18);
最后重新添加主键:
alter table table_name add primary key(indexid);
您可能感兴趣的文章:
- MySQL 8.0的关系数据库新特性详解
- Mysql 8 新特性 window functions 的作用
- MySQL 8 新特性之Invisible Indexes
- 利用Java的MyBatis框架获取MySQL中插入记录时的自增主键
- MySQL中的主键以及设置其自增的用法教程
- 深入探寻mysql自增列导致主键重复问题的原因
- MySQL8新特性:自增主键的持久化详解