此脚本
DROP TABLE IF EXISTS cmx_siusd_m1;
CREATE TABLE cmx_siusd_m1(trade_date DATETIME, si_open DECIMAL(8,5), si_high DECIMAL(8,5), si_low DECIMAL(8,5), si_close DECIMAL(8,5), si_ticks INT,
si_oi INT, PRIMARY KEY(trade_date));
LOAD DATA INFILE 'D:/datafolder/cmx_siusd_m1.csv' IGNORE INTO TABLE cmx_siusd_m1 FIELDS TERMINATED BY ','
IGNORE 1 LINES (@trade_date, si_open, si_high, si_low, si_close, si_ticks, si_oi)
SET trade_date = STR_TO_DATE(@trade_date, '%Y.%m.%d %H:%i');
无法读取此数据
2009.04.17 13:45,11.95000,11.97000,11.94000,11.96000,41,0
2009.04.17 13:46,11.95000,11.97000,11.94000,11.95000,34,0
2009.04.17 13:47,11.96000,11.97000,11.94000,11.96000,32,0
2009.04.17 13:48,11.95000,11.97000,11.93000,11.96000,39,0
2009.04.17 13:49,11.97000,11.98000,11.94000,11.97000,42,0
2009.04.17 13:50,11.95000,11.98000,11.95000,11.97000,32,0
2009.04.17 13:51,11.96000,11.98000,11.96000,11.96000,34,0
我得到mysql中每个列表的错误十进制值,错误的整数值和不正确的日期时间值。
答案 0 :(得分:0)
在评论中讨论后 - 您的问题是文本文件的格式。在尝试\r\n
和\n
行终止后,我们尝试使用Windows格式创建新文件并且它可以正常工作。
所以问题是奇怪的文件格式,未知的行终止。如果你需要使用那种文件格式(它来自某些东西而且你不想在每次导入时重新写入新文件) - 你可以用hexeditor打开那个文件,看看行尾有什么字符代码。
也许这是\n\r
(不是\r\n
)。