这个MySQL查询有什么问题?
结果是[Err] 1654 - Partition column values of incorrect type

DROP TABLE IF EXISTS part;
CREATE TABLE `part` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `cnt` varchar(255) DEFAULT NULL,
  `created` datetime NOT NULL,
  PRIMARY KEY (`id`, `created`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1

PARTITION BY RANGE COLUMNS (created)(
    PARTITION p_2015_01 VALUES LESS THAN ('2015-01-30') ENGINE=InnoDB,
    PARTITION p_2015_02 VALUES LESS THAN ('2015-02-30') ENGINE=InnoDB,
    PARTITION p_2015_03 VALUES LESS THAN ('2015-03-30') ENGINE=InnoDB,
    PARTITION p_catchall VALUES LESS THAN (MAXVALUE) ENGINE=InnoDB
);


如果重要,版本为5.5

最佳答案

花了很长时间才看到明显的东西:

日期“ 2015-02-30”不存在。

大概将其转换为NULL或其他内容,因此出现有关“不正确类型”的消息。

希望有一天有帮助。

关于mysql - 分区时出错。 [Err] 1654-错误类型的分区列值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31118656/

10-11 19:58