tidb auto_increment 改为auto_random

auto_increment 的字段类型是什么。如果是int可以先alter table改为bigint,然后通过变量tidb_allow_remove_auto_inc允许移除自增。最后可以通过alter table的方式设置auto_random。
官方文档明确说明不支持使用 ALTER TABLE 来修改 AUTO_RANDOM 属性,包括添加或移除该属性。这里可能文档有误,但是也不建议将auto_increment改为auto_random,因为如果表中有值相当于显式赋值可能会导致该表提前耗尽用于自动分配的数值。如果是已经上线的业务建议通过SHARD_ROW_ID_BITS 和 PRE_SPLIT_REGIONS的方式打散热点,如果还未上线建议重建表导数据。

1 个赞