mysql删除分区不起作用

时间:2018-06-21 15:50:32

标签: mysql partitioning

我创建了主分区20170621和24个子分区 20170621_0 .. 20170621_23

现在,我想删除主分区。但是我得到一个错误。

alter table VAL90W02  drop PARTITION `20180621`
  

#1508-无法删除所有分区,请改用DROP TABLE。

我也不能删除子分区。那么,如何删除分区?

(来自评论)

create table mytable (
    id int(11) NOT NULL AUTO_INCREMENT, 
    ..., 
    x_date datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, 
    PRIMARY KEY (id, x_date)
) ENGINE = MYISAM
PARTITION BY RANGE (day(x_date))
SUBPARTITION BY HASH (hour(x_date))
( PARTITION 20180621 VALUES LESS THAN (24)
   ( SUBPARTITION 20180621_0 ENGINE = MyISAM,
     SUBPARTITION 20180621_1 ENGINE = MyISAM, ...)
), ...;

1 个答案:

答案 0 :(得分:0)

令人讨厌的是,当删除分区表的最后一个分区时,您必须使用

ALTER TABLE VAL90W02 REMOVE PARTITIONING; 

相反。

这是MySQL引发的一个误导性错误(我使用的是5.7 Aurora,不确定会影响哪个版本)。

可以说,这是MySQL无法处理ALTER TABLE DROP PARTITION命令中的极端情况。