我有以下查询
ALTER TABLE `logs`
ADD
PARTITION BY RANGE (date)
(
PARTITION P1 VALUES LESS THAN (1515745595)
)
但mysql返回此错误:
#1064 - 您的SQL语法出错;查看与您的MySQL服务器版本对应的手册,以便在'BY RANGE(日期)附近使用正确的语法 ( PARTITION P1价值低于(1515745595) )'在第3行
答案 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分区表,如下所示:这个例子:您可能希望查看。