为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 TiDB 使用环境】
【概述】 场景 + 问题概述
分区表-主键和唯一索引必须包含分区字段,主键需要使用id+分区字段, 请问下id如何使用auto_random呢
DDL:
CREATE TABLE business_bill_by_partition
(
id
bigint(20) NOT NULL AUTO_RANDOM ,
data_business_time
datetime(3) NOT NULL COMMENT ‘业务时间’,
data_business_date
DATE AS (DATE( data_business_time
)) STORED NOT NULL COMMENT ‘业务日期’,
data_business_month
int AS (DATE_FORMAT(data_business_time
, ‘%Y%m’)) STORED NOT NULL COMMENT ‘业务年月’,
PRIMARY KEY CLUSTERED(id
, data_business_month
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT=‘xxxx’
Partition BY RANGE(data_business_month) (
PARTITION p202106 VALUES LESS THAN (202106),
PARTITION p202107 VALUES LESS THAN (202107),
PARTITION p202108 VALUES LESS THAN (202108),
PARTITION p202109 VALUES LESS THAN (202109)
);
【问题】 当前遇到的问题
分区表-主键和唯一索引必须包含分区字段,主键需要使用id+分区字段, 请问下id如何使用auto_random呢
错误提示:Invalid auto random: column id is not the integer primary key, or table is created with alter-primary-key enabled
【业务影响】
分区表情况下无法使用auto_random
【TiDB 版本】
4.0.3