mysql分区表必须包含主键

本文共有765个字,关键词:sqlalchemy分区表主键

问题:mysql对日志表进行分区表操作时,想按时间进行range的,但是报错,如何解决?

表views
create talbe 'login_log' (
'id' int(10) unsigned not null primary key autoincrement,
'user_id' int(10) unsigned not null,
'login_time' datetime not null,
'login_ip' int(10) unsigned not null,
'login_type' tinyint(4) not null
) engine = innodb

分区表操作如下
alter table login_log partition by range(year(login_time)) (
    partition p2018 values less than (2019),
    partition p2019 values less than (2020),
    partition pmore values less than maxvalue
);

解决:需要将login_time也设置为主键,做成组合主键

方法:

借助工具操作,或者执行如下代码:
ALTER TABLE `login_log` DROP PRIMARY KEY, ADD PRIMARY KEY (`id`, `login_time`);
版权声明:本文为作者原创,如需转载须联系作者本人同意,未经作者本人同意不得擅自转载。
添加新评论
暂无评论