在創建分區表時,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 );