请问有办法修改id自增属性为 auto_random吗?

【 TiDB 使用环境】测试
【 TiDB 版本】v7.5
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
想要修改自增属性为 auto_random
【资源配置】

不能直接alter,只能重建表了。

tidb主键不能改的,重建

rebuild

先set tidb_allow_remove_auto_inc=1;这个参数
然后再改,前提是表为聚簇表,非聚簇表无法修改
建议先建测试表做下测试;

1 个赞

楼上说的真可以trytry
https://docs.pingcap.com/zh/tidb/stable/dev-guide-third-party-tools-compatibility#默认不允许修改列的-auto_increment-属性

直接改的真没试过,建议重建表之后,将原来的数据插入进来。。。

最好是重建表

重建表简单且安全

数据量有多大呢,如果数据量小重建表可以,数据量大重建表是个大工程
我测试测改完后生成的id符合预期

看提示应该是可以通过修改系统变量来实现,可以设置一下变量试试

重建表

这个参数是允许去掉auto_increment
但是他这个除了去掉auto_increment,还要加上auto_random,但是tidb不支持,所以设置了也没用。

可以的

3 个赞

只能重建一下

:+1: :+1: :+1:实践派~

重建表吧,记得文档上说不支持修改成auto_random

重新建表,根据_tidb_rowid拆分,回插表

看下它下面呢句