为什么使用navcat在tidb创建表的时候,没办法往表里面添加自增id呢?

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:

【问题】 没办法往表里面添加自增id呢

【TiDB 版本】 7.3.0

只有建表时加,参考下https://docs.pingcap.com/zh/tidb/stable/auto-increment

3 个赞

好的,谢谢

navicate查看表建库脚本手改下,不是对性能有极致要求可以加上AUTO_ID_CACHE=1参数,这样就不会递增时候有大有小不可控了

哦?这个是有什么讲究吗,难道不是自增的吗,还有一个问题就是AUTO_ID_CACHE=1这个在哪加 :sweat_smile: :sob: :sob:

楼上有链接 AUTO_INCREMENT | PingCAP 文档中心
你仔细读读,tidb默认自增是比如有个3个tidb,1个1到30000,一个30001到60000,一个60001到90000,用光了再申请。
AUTO_ID_CACHE=1写建表语句注释里里面就行
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin /*T![auto_id_cache] AUTO_ID_CACHE=1 */ COMMENT='人员表 ';

1 个赞

好的,谢谢大佬

CREATE TABLE t(id int PRIMARY KEY AUTO_INCREMENT, c int);

不支持使用 ALTER TABLE 来添加 AUTO_INCREMENT 属性 :grin:

1 个赞

AUTO_INCREMENT 是用于自动填充缺省列值的列属性。当 INSERT 语句没有指定 AUTO_INCREMENT 列的具体值时,系统会自动地为该列分配一个值。

出于性能原因,自增编号是系统批量分配给每台 TiDB 服务器的值(默认 3 万个值),因此自增编号能保证唯一性,但分配给 INSERT 语句的值仅在单台 TiDB 服务器上具有单调性。
https://docs.pingcap.com/zh/tidb/stable/auto-increment

创建表时提前加上去

对的,谢谢大佬已经解决了

创建表时加吧

1 个赞

建表时加

创建表的时候添加就行了

簇表不支持alter修改主键吧

要程重新建表了

学到了

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。