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の各列テーブルで、誤った10進値、誤った整数値、および誤った日時値のエラーが発生します。

4

1 に答える 1

0

コメントで議論した後-あなたの問題はあなたのテキストファイルのフォーマットです。行終了を試みた後、Windows形式で新しいファイルを作成しようとしましたが、機能しました\r\n\n

したがって、問題は、行の終了が不明な奇妙なファイル形式です。そのファイル形式を使用する必要がある場合(何かからのものであり、インポートのたびに新しいファイルを書き直したくない場合)-そのファイルを16進エディターで開いて、行末にある文字コードを確認できます。

多分これは\n\r(ではない\r\n)です。

于 2012-11-29T10:13:13.593 に答える