Mysql 分区表中如何解决分区字段不是主键的情况?

    请教各位大佬一个问题,mysql 在创建分区表的时候,似乎要求分区字段必须是主键或者是主键的一部分。
    目前我在业务上遇到一个问题,有一张大的数据分层表,累加了很多数据,现在把最多的一级数据分离出一张新表,我想根据这一级数据中的时间类型(2024-01-01) 来设置分区,但是又要兼顾原有的业务逻辑,所以想保留原有主键(id) 的同时,建立分区,代码内容如下,求助各位大佬看看有没有什么好的解决方案。
CREATE TABLE orders (
    order_id INT NOT NULL AUTO_INCREMENT,
    order_date DATE NOT NULL,
    customer_id INT,
    amount DECIMAL(10, 2),
    PRIMARY KEY (order_id),  -- 设置order_id为主键 
)
PARTITION BY RANGE (YEAR(order_date))  -- 根据order_date的年份进行分区
(
    PARTITION p2021 VALUES LESS THAN (2022),
    PARTITION p2022 VALUES LESS THAN (2023),
    PARTITION p2023 VALUES LESS THAN (2024),
    PARTITION p_future VALUES LESS THAN MAXVALUE
);

    这样建会提示错误信息如下:
    SQL 错误 [1503] [HY000]: A PRIMARY KEY must include all columns in the table's partitioning function (prefixed columns are not considered).
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!