alter table partition中的语法错误由mysql中的col

时间:2018-01-20 08:55:03

标签: mysql partitioning

我有以下查询

ALTER TABLE `logs`
ADD 
PARTITION BY RANGE (date)
(
PARTITION P1 VALUES LESS THAN (1515745595)
)

但mysql返回此错误:

  

#1064 - 您的SQL语法出错;查看与您的MySQL服务器版本对应的手册,以便在'BY RANGE(日期)附近使用正确的语法   (   PARTITION P1价值低于(1515745595)   )'在第3行

1 个答案:

答案 0 :(得分:0)

我假设你的意思是date是一个存储时间戳的int字段。在这种情况下,您的alter语句1有一些问题,您不需要并添加第2条)您需要满足任何超出p1的值,所以可能是这样的

ALTER TABLE `logs`
PARTITION BY RANGE (`date`)
(
PARTITION P1 VALUES LESS THAN (1516442053),
partition p2 values less than (maxvalue)
)

同样根据https://dev.mysql.com/doc/refman/5.5/en/partitioning-range.html 从MySQL 5.5.1开始,还可以使用UNIX_TIMESTAMP()函数根据TIMESTAMP列的值对RANGE分区表,如下所示:这个例子:您可能希望查看。