多分区添加分区报错

【详述】对一个表用多个字段设置了分区,在添加分区时报错
【背景】202201 月 印度集群和国内集群都要向同一个starrocks表写入数据,于是想对该表设置两个分区,一个是月份,一个是地区集群(用数字1,2区分)
【业务影响】
【StarRocks版本】2.1.12 04f2931
【报错sql】
alter table test_lmc add partition p202201p2 VALUES [(202201, 2), (202202, 3))
【具体报错】
[42000][1064] Syntax error in line 1: …tition p202201p2 VALUES [(202201, 2), (202202, 3)) ^ Encountered: INTEGER LITERAL Expected: COMMA
【附件】

【建表语句】
CREATE TABLE test_lmc (
monthno int(11) NULL COMMENT “”,
data_source int(11) NULL COMMENT “”,
sku_code varchar(64) NULL COMMENT “”,
shop_code varchar(64) NULL COMMENT “”,
year_month varchar(32) NULL COMMENT “”,
trading_mode varchar(64) NULL COMMENT “”,
sku_system_type varchar(200) NULL COMMENT “”,
biz_cust_system_type varchar(200) NULL COMMENT “”,
biz_cust_code_merge_lv1 varchar(200) NULL COMMENT “”,
biz_cust_code_merge_lv2 varchar(200) NULL COMMENT “”,
factory_auttc_level_name_his varchar(32) NULL COMMENT “”,
delivery_qty_cmtd int(11) NULL COMMENT “”,
arrival_qty_cmtd int(11) NULL COMMENT “”,
sale_qty_cmtd int(11) NULL COMMENT “”,
sale_qty_amt_cmtd decimal64(18, 4) NULL COMMENT “”,
sale_qty_1w int(11) NULL COMMENT “”,
sale_qty_2w int(11) NULL COMMENT “”,
sale_qty_4w int(11) NULL COMMENT “”,
chnl_invt_qty_delivery int(11) NULL COMMENT “”,
chnl_invt_qty_arrival int(11) NULL COMMENT “”,
etl_time varchar(100) NOT NULL COMMENT “”
) ENGINE=OLAP
DUPLICATE KEY(monthno, data_source, sku_code, shop_code)
COMMENT “xxx表”
PARTITION BY RANGE(monthno, data_source)
(PARTITION p202201p1 VALUES [(“202201”, “1”), (“202202”, “2”)))
DISTRIBUTED BY HASH(sku_code) BUCKETS 10
PROPERTIES (
“replication_num” = “3”,
“in_memory” = “false”,
“storage_format” = “DEFAULT”
);

直接用monthno做分区就好了,不用这么细吧

不行,因为在写入数据前要先删掉数据,比如导入20221107印度的数据,要先删除20221107印度的数据,防止重跑数据导致数据重复。但是直接做delete不太好,要求使用truncate 方式删数据,所以必须建分区

ALTER TABLE test_lmc ADD PARTITION p202202p2 VALUES [(“202202”, “2”), (“202203”, “3”)) ; 分区中的字段加上双引号。

原因已经找到了,谢谢你