我的需求是主键必须是一个字段ID,要按照日期分区,建表语句应该怎么写?
我尝试了很多种方法都失败了
如下是建表语句:
CREATE TABLE sto_kucun_move_title
(
id
bigint(20) NOT NULL AUTO_INCREMENT,
mtanr_vouch_no
varchar(60) NOT NULL COMMENT ‘商品凭证编号’,
order_date
datetime NOT NULL COMMENT ‘单据日期(业务日期,凭证日期)’,
posting_date
datetime DEFAULT NULL COMMENT ‘过账日期’,
create_time
datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ‘创建日期’,
update_time
datetime DEFAULT NULL COMMENT ‘更新时间’,
create_user
varchar(30) DEFAULT NULL COMMENT ‘创建者用户名’,
create_name
varchar(50) DEFAULT NULL COMMENT ‘创建者姓名’,
congxiao_flag
varchar(1) DEFAULT NULL COMMENT ‘冲销标识:1冲销2被冲销’,
business_type
varchar(5) DEFAULT NULL COMMENT ‘业务类型’,
version
int(10) DEFAULT NULL,
churuku_status
int(1) DEFAULT NULL COMMENT ‘出入库标识 1出库 2入库’,
manual_status
varchar(2) DEFAULT ‘0’ COMMENT ‘是否手工更新(0为否,1为是)’,
PRIMARY KEY (id
),
UNIQUE KEY (id
, create_time
)
) DEFAULT CHARSET = utf8mb4 COMMENT = ‘物料凭证抬头表’
partition by list(year(create_time))
(partition p2020 values in (2020),
partition p2021 values in (2021),
partition p2022 values in (2022),
partition p2023 values in (2023),
partition p2024 values in (2024),
partition p2025 values in (2025));
PRIMARY KEY (id
,create_time
)
主键必须包含分区键。
你的需求,违背了
主键必须有分区键的