今天遇到一个狗血的问题,Partitioning can not be used stand-alone in query near 'PARTITION BY RANGE COLUMNS(stats_dt)
(,其实是简单的错误,建立mysql分区时,语句,写错了,在在之前,多了一个分号,报错。
分号,应该在建表最后,分去最后才对。
简化示例如下:
DROP TABLE IF EXISTS `ky_mrt_car_ln_one_vw`;
CREATE TABLE `ky_mrt_car_ln_one_vw` (
`strt_tm` varchar(32)DEFAULT NULL COMMENT '始发时间',
`car_ln_id` varchar(64) DEFAULT NULL COMMENT '车线编号',
`car_ln_nm` varchar(128) DEFAULT NULL COMMENT '车线名称',
`car_id` varchar(128) DEFAULT NULL COMMENT '车牌号',
`snd_car_vchr` bigint(20) DEFAULT NULL COMMENT '发车凭证',
`trgt_ldcp_amt` decimal(12,2) DEFAULT NULL COMMENT '目标装载重量(kg)',
`strt_dbct` int(11) DEFAULT NULL COMMENT '始发分拨中心',
`strt_dbct_lod_tckt_cnt` int(11) DEFAULT NULL COMMENT '始发分拨装车票数',
`strt_dbct_lod_cnt` int(11) DEFAULT NULL COMMENT '始发分拨装车件数',
`dest_uld_actl_tot_wgt` decimal(12,2) DEFAULT NULL COMMENT '目的卸车实际总重量(kg)',
`dest_uld_setl_wgt` decimal(12,2) DEFAULT NULL COMMENT '目的卸车结算重量(kg)',
`dest_uld_vol` decimal(12,2) DEFAULT NULL COMMENT '目的卸车体积(m3)',
`uld_diff_tckt_cnt` int(11) DEFAULT NULL COMMENT '装卸车差异票数',
`stats_dt` datetime DEFAULT '0000-00-00 00:00:00' COMMENT '统计日期',
KEY `strt_dbct` (`strt_dbct`) ,
KEY `dest_dbct` (`dest_dbct`) ,
KEY `car_ln_id` (`car_ln_id`),
KEY `car_id` (`car_id`),
KEY `snd_car_vchr` (`snd_car_vchr`),
KEY `stats_dt` (`stats_dt`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='车统一视图/车统一视图报表'
/*!50500 PARTITION BY RANGE COLUMNS(stats_dt)
(
PARTITION p20191226 VALUES LESS THAN ('2019-12-27') ENGINE = InnoDB,
PARTITION p20191227 VALUES LESS THAN ('2019-12-28') ENGINE = InnoDB,
PARTITION p20191228 VALUES LESS THAN ('2019-12-29') ENGINE = InnoDB,
PARTITION p20191229 VALUES LESS THAN ('2019-12-30') ENGINE = InnoDB,
PARTITION p20191230 VALUES LESS THAN ('2019-12-31') ENGINE = InnoDB,
PARTITION pmax VALUES LESS THAN (MAXVALUE) ENGINE = InnoDB) */;