如果为一个没有主键的表,增加一列自增列,并设置为主键

如果为一个没有主键的表,增加一列自增列,并设置为主键

https://docs.pingcap.com/zh/tidb/stable/auto-increment/
不支持使用 ALTER TABLE 来添加 AUTO_INCREMENT 属性,包括使用 ALTER TABLE ... MODIFY/CHANGE COLUMN 语法为已存在的列添加 AUTO_INCREMENT 属性,以及使用 ALTER TABLE ... ADD COLUMN 添加带有 AUTO_INCREMENT 属性的列

有没有曲线的方法实现?

我们一般是建新表,然后导数,然后rename交换两个表

新建表,如果是大表就用batch on 的方式写

1 个赞

加字段,更新值,设置主键属性,mysql里这样应该可以的,但这个字段与主数据的存储位置啥的估计会影响查询性能。

1 个赞

貌似没什么简单的方法处理了

tidb涉及主键的修改和数据类型修改都只能重建表