我正在尝试从 .txt
文件到 MySQL
数据库。但是,我无法将日期时间数据集加载到表中。它回来了 0000-00-00 00:00:00
. 有人能告诉我我做错了什么吗?
我创建了以下内容 taxi_movement_data
把table变成 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);
结果如下,无法加载datetime。返回'u datetime' 0000-00-00 00:00:00
. 经度、纬度和id正常工作。
查询后的表结果。
抱歉,我还没有授权直接在stackoverflow上加载图像,因此它已成为一个链接。
错误消息如下
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
1条答案
按热度按时间gkn4icbw1#
我犯了个愚蠢的错误。在任何情况下,我纠正了它如下。希望它能帮助其他人。
在设置跟踪日期时间之前添加(@tracked\u datetime,longitude,latitude)
sql查询应该如下所示。