使用MySQL工作台查询将数据(DATETIME)加载到MySQL时出错1265
我正在尝试将一组数据从使用MySQL工作台查询将数据(DATETIME)加载到MySQL时出错1265,mysql,sql,mysql-workbench,Mysql,Sql,Mysql Workbench,我正在尝试将一组数据从.txt文件加载到MySQL数据库。但是,我无法将日期时间数据集加载到表中。它正在返回0000-00-00:00:00。谁能告诉我我做错了什么 我已将以下taxi\u movement\u数据表创建到taxiapp模式中 CREATE TABLE `taxiapp`.`taxi_movement_data` ( `tracked_datetime` DATETIME NOT NULL, `longitude` DOUBLE NOT NULL, `lattitude` DOU
.txt
文件加载到MySQL
数据库。但是,我无法将日期时间数据集加载到表中。它正在返回0000-00-00:00:00
。谁能告诉我我做错了什么
我已将以下taxi\u movement\u数据
表创建到taxiapp
模式中
CREATE TABLE `taxiapp`.`taxi_movement_data` (
`tracked_datetime` DATETIME NOT NULL,
`longitude` DOUBLE NOT NULL,
`lattitude` DOUBLE NOT NULL,
`id` INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`), UNIQUE INDEX `id_UNIQUE` (`id` ASC));
我的.txt文件示例如下
2018-06-01T23:51:09+08:00,103.62926,1.30081
2018-06-01T23:51:09+08:00,103.63598,1.27931
2018-06-01T23:51:09+08:00,103.6375,1.34143
我的SQL查询如下
LOAD DATA INFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/uploads/ltasampledata.txt'
INTO TABLE taxi_movement_data
FIELDS TERMINATED BY ',' enclosed by '"'
LINES TERMINATED BY '\r\n'
SET tracked_datetime = DATE_ADD(DATE_FORMAT(substring(@tracked_datetime,1,19), '%Y-%m-%d %H:%i:%s'),INTERVAL 8 HOUR);
3 row(s) affected, 9 warning(s): 1265 Data truncated for column 'tracked_datetime' at row 1 1261 Row 1 doesn't contain data for all columns 1048 Column 'tracked_datetime' cannot be null 1265 Data truncated for column 'tracked_datetime' at row 2 1261 Row 2 doesn't contain data for all columns 1048 Column 'tracked_datetime' cannot be null 1265 Data truncated for column 'tracked_datetime' at row 3 1261 Row 3 doesn't contain data for all columns 1048 Column 'tracked_datetime' cannot be null Records: 3 Deleted: 0 Skipped: 0 Warnings: 9 0.078 sec
结果如下,无法加载datetime。“tracked_datetime”返回0000-00-00:00:00
。经度、纬度和id正常工作
对不起,我还没有授权在Stackoverflow上直接加载图像,因此它已成为一个链接
错误消息如下
LOAD DATA INFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/uploads/ltasampledata.txt'
INTO TABLE taxi_movement_data
FIELDS TERMINATED BY ',' enclosed by '"'
LINES TERMINATED BY '\r\n'
SET tracked_datetime = DATE_ADD(DATE_FORMAT(substring(@tracked_datetime,1,19), '%Y-%m-%d %H:%i:%s'),INTERVAL 8 HOUR);
3 row(s) affected, 9 warning(s): 1265 Data truncated for column 'tracked_datetime' at row 1 1261 Row 1 doesn't contain data for all columns 1048 Column 'tracked_datetime' cannot be null 1265 Data truncated for column 'tracked_datetime' at row 2 1261 Row 2 doesn't contain data for all columns 1048 Column 'tracked_datetime' cannot be null 1265 Data truncated for column 'tracked_datetime' at row 3 1261 Row 3 doesn't contain data for all columns 1048 Column 'tracked_datetime' cannot be null Records: 3 Deleted: 0 Skipped: 0 Warnings: 9 0.078 sec
我犯了一个愚蠢的错误。在任何情况下,我纠正了它的以下。希望它能帮助以后的人 在设置跟踪的日期时间之前添加(@tracked_datetime、longitude、latitude) SQL查询应该如下所示
LOAD DATA INFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/uploads/ltasampledata.txt'
INTO TABLE taxi_movement_data
FIELDS TERMINATED BY ',' enclosed by '"'
LINES TERMINATED BY '\r\n'
(@tracked_datetime,longitude,lattitude)
SET tracked_datetime = DATE_ADD(DATE_FORMAT(substring(@tracked_datetime,1,19), '%Y-%m-%d %H:%i:%s'),INTERVAL 8 HOUR);