by shigemk2

当面は技術的なことしか書かない

REORGANIZE PARTITION

パーティションを削除すると、そのパーティションに格納されていたすべてのデータも削除されることを覚えておくことは非常に重要です。前の SELECT クエリーを再実行することで、これが本当であることを確認できます。

ってことで、データを削除しないでパーティションを更新するには、REORGANIZE PARTIOTIONを使う。

ALTER TABLE tbl1 REORGANIZE PARTITION p202006 INTO ( PARTITION p202005 VALUES LESS THAN ('2020-06-01') ENGINE = InnoDB, PARTITION p202006 VALUES LESS THAN ('2020-07-01') ENGINE = InnoDB );

なお、パーティションはLESS THANの値によって順番が決まっているので、これを間違えると VALUES LESS THAN value must be strictly » increasing for each partition って出るので注意

MySQL :: MySQL 5.6 リファレンスマニュアル :: 19.3.1 RANGE および LIST パーティションの管理