1

这个脚本

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 中的每个列表,我得到错误不正确的十进制值、不正确的整数值和不正确的日期时间值。

4

1 回答 1

0

在评论中讨论后 - 你的问题是你的文本文件的格式。在尝试\r\n\n终止行后,我们尝试使用 windows 格式创建新文件并且它有效。

所以问题是奇怪的文件格式,未知的行终止。如果您需要使用该文件格式(它来自某些东西并且您不想每次导入都重新编写新文件) - 您可以在 hexeditor 中打开该文件并查看行尾的字符代码。

也许这是\n\r(不是\r\n)。

于 2012-11-29T10:13:13.593 回答