我用timestamp列创建了一个测试mysql表。当我尝试通过Presto插入数据时。 Presto失败。
在Presto 0.229 CLI中:
插入test(id,Date,timestamp)值(6,current_date,localtimestamp);
结果:
查询20191204_051244_00031_xrwc9失败:不支持的列类型:时间戳
MYSQL表:
CREATE TABLE `NewTable` (
`ID` int(11) NOT NULL ,
`var` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' ,
`Date` date NULL DEFAULT '' ,
`Time` time NULL DEFAULT '' ,
`Timestamp` timestamp NULL DEFAULT '' ON UPDATE CURRENT_TIMESTAMP ,
PRIMARY KEY (`ID`)
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci
ROW_FORMAT=DYNAMIC
;
答案 0 :(得分:1)
我在Presto 312周围的MySQL连接器中实现了对timestamp
数据类型的支持。
Download latest Presto 326并享受。
或者,下载Starburst Presto并享受一些额外的好处。
答案 1 :(得分:0)
您不能默认date
或time
数据类型为空值。
CREATE TABLE `NewTable` (
`ID` int(11) NOT NULL ,
`var` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' ,
`Date` date NULL DEFAULT NULL ,
`Time` time NULL DEFAULT NULL ,
`Timestamp` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP ,
PRIMARY KEY (`ID`)
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci
ROW_FORMAT=DYNAMIC
;