为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【问题】 没办法往表里面添加自增id呢
【TiDB 版本】 7.3.0
好的,谢谢
navicate查看表建库脚本手改下,不是对性能有极致要求可以加上AUTO_ID_CACHE=1参数,这样就不会递增时候有大有小不可控了
哦?这个是有什么讲究吗,难道不是自增的吗,还有一个问题就是AUTO_ID_CACHE=1这个在哪加
楼上有链接 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='人员表 ';
好的,谢谢大佬
CREATE TABLE t(id int PRIMARY KEY AUTO_INCREMENT, c int);
不支持使用 ALTER TABLE
来添加 AUTO_INCREMENT
属性
AUTO_INCREMENT
是用于自动填充缺省列值的列属性。当 INSERT
语句没有指定 AUTO_INCREMENT
列的具体值时,系统会自动地为该列分配一个值。
出于性能原因,自增编号是系统批量分配给每台 TiDB 服务器的值(默认 3 万个值),因此自增编号能保证唯一性,但分配给 INSERT
语句的值仅在单台 TiDB 服务器上具有单调性。
https://docs.pingcap.com/zh/tidb/stable/auto-increment
创建表时提前加上去
对的,谢谢大佬已经解决了
创建表时加吧
建表时加
创建表的时候添加就行了
簇表不支持alter修改主键吧
要程重新建表了
学到了
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。