2016-11-09 9 views
0

誰かが私が間違っているの何私を指す: csvファイル:「"0.5'

weight,student,price 
0.5,4,2.3 

コマンド:

LOAD DATA INFILE 'prices.csv' 
      INTO TABLE prices 
      FIELDS TERMINATED BY ',' 
      LINES TERMINATED BY '\n' 
      IGNORE 1 ROWS; 

エラー:

Incorrect decimal value: '"0.5' for column 'weight' at row 1 
+0

「prices」のテーブル構造を表示してください。 –

+0

ほとんどの場合、ロケール/照合では、千の区切り文字として '.'が使用され、小数点の区切り文字として'、 'が使用されます。 LOAD DATAは個々の値を正しくロードしますが、サーバはこれらの値を変換して小数点を訂正できません。接続の照合順序を変更してみてください –

答えて

1

ファイル内に囲まれた(またはエスケープしている)文字がある可能性があります(実際のファイルはわかりません)。それでも解決しない場合は、あまりにもESCAPED BYでそれを試してみてくださいENCLOSED BY

LOAD DATA INFILE 'prices.csv' 
INTO TABLE prices 
FIELDS TERMINATED BY ',' ENCLOSED BY '"' 
LINES TERMINATED BY '\n' 
IGNORE 1 LINES; 

pecify。

LOAD DATA INFILE 'prices.csv' 
INTO TABLE prices 
FIELDS TERMINATED BY ',' ESCAPED BY '"' 
LINES TERMINATED BY '\n' 
IGNORE 1 LINES; 
+0

ロケールで小数点の区切り記号として '、'を使用します(例:フランス、ドイツ、ギリシャ) –

+0

これは有望です。投稿されたデータが実際にそのように見える場合、彼はそのエラーを受け取るべきではありません。 –

+0

投稿されたデータのエラーが全くないので実際のデータが投稿されたデータとは異なると確信しています@TimBiegeleisen – baao

関連する問題