有没有一种方法可以通过范围列对mysql表进行分区,其中有问题的2列是datetime和bigint?

时间:2019-03-26 06:08:46

标签: mysql database-partitioning

我需要将一个表划分为4个分区,从p0到p3: 其中p0的所有行的“ id” = 0,并且p1的所有行的2月之前为“ id” = 1和“ doj”,p2的行列在“ id” = 1和“ doj”之前,并划分“ future”和其他人。 id的值始终保证为0或1。

我试图提出一种解决方案,以下是我得出的结论:

create table temp
(id int not null primary key,
 doj datetime not null primary key)
partition by range columns(id,month(doj))
(partition p0 values less than (1, maxvalue),
 partition p1 values less than (2, 2),
 partition p2 values less than (2, 3),
 partition p3 values less than(maxvalue, maxvalue));

尝试执行上述sql命令时出现以下错误:

您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册以获取在'(doj))附近使用的正确语法

(分区p0的值小于(1,最大值),

分区p1在第4行的值小于t'

任何有关如何以上述方式对表进行分区的见识都将受到赞赏。

0 个答案:

没有答案