我運行MySQL 5.6,並具有如下表:MySQL分區錯誤
CREATE TABLE `rawdata` (
`RawDataSeq` int(10) unsigned NOT NULL AUTO_INCREMENT,
`SpeciesSeq` int(10) unsigned DEFAULT NULL,
`DataSourceSeq` int(10) unsigned DEFAULT NULL,
`MeasurementSeq` int(10) unsigned DEFAULT NULL,
`RecordingDateTime` datetime DEFAULT NULL,
`RawSensorData` varchar(100) DEFAULT NULL,
`RawDataNumeric` decimal(36,18) DEFAULT NULL,
`RawDataString` varchar(100) DEFAULT NULL,
`RawDataDate` datetime DEFAULT NULL,
`RawDataTime` varchar(45) DEFAULT NULL,
`RawDataDateTime` datetime DEFAULT NULL,
`ActiveRecord` int(10) unsigned DEFAULT NULL,
`LastUpdateDate` datetime DEFAULT NULL,
`UserId` varchar(6) DEFAULT NULL,
`BadData` varchar(200) DEFAULT NULL,
PRIMARY KEY (`RawDataSeq`)
) ENGINE=MyISAM AUTO_INCREMENT=5676258 DEFAULT CHARSET=latin1
我試圖通過「RecordingDateTime」使用下面的命令分區表:
ALTER TABLE rawdata PARTITION BY RANGE (RecordingDateTime) (
PARTITION p0 VALUES LESS THAN (2013),
PARTITION p1 VALUES LESS THAN (2014),
PARTITION p2 VALUES LESS THAN (2015),
PARTITION p3 VALUES LESS THAN (UNIX_TIMESTAMP('2015-06-01 00:00:00')),
PARTITION p4 VALUES LESS THAN MAXVALUE
);
我收到以下錯誤消息:
查詢:ALTER TABLE rawdata PARTITION BY RANGE(RecordingDateTime)(PARTITION p0值小於(2013),PARTITION p1的值小於... 錯誤代碼:1659 字段'RecordingDateTime'是這種類型的分區不允許的類型
任何幫助,非常感謝。
這很棒,並且可以無縫工作。謝謝!!我還檢查了有關分區維護的文章,並在12月份,我是否可以簡單地刪除所有分區並在2016年添加一個分區? –
注意:「DROP PARTITION」會丟失分區中的任何數據。 'REORGANIZE PARTITION'可用於組合(或拆分)分區。少於10個分區幾乎沒有任何用處。有超過50個分區可能會出現性能問題。 –