mysql按日期创建分区

在创建分区表时,mysql报了这样一个错误。

ERROR 1503 (HY000): A PRIMARY KEY must include all columns in the table's partitioning function
  • 1

大意是用于做分区表的列必须是主键,或包含于主键中

明白原因后就好处理了,把用于分区的列也加入到主键中,形成复合主键,然后再执行。


1.将用于分区的列添加为复合主键




添加复合主键成功后,在用命令创建分区:

ALTER TABLE history PARTITION BY RANGE (TO_DAYS(tal_time))
(
PARTITION p_20180101 VALUES LESS THAN (TO_DAYS('2018-01-01')),
PARTITION p_20180201 VALUES LESS THAN (TO_DAYS('2018-02-01')),
PARTITION p_20180301 VALUES LESS THAN (TO_DAYS('2018-03-01')),
PARTITION p_20180401 VALUES LESS THAN (TO_DAYS('2018-04-01')),
PARTITION p_max VALUES LESS THAN MAXVALUE );



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章