4

LOAD DATA INFILE を使用して .csv をテーブルにアップロードしています。

これは、データベースに作成したテーブルです。

CREATE TABLE expenses (entry_id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(entry_id), 
ss_id INT, user_id INT, cost FLOAT, context VARCHAR(100), date_created DATE);

これは、アップロードしようとしているサンプル データの一部です (一部の行にはすべての列のデータがあり、一部の行には日付列がありません)。

1,1,20,ハイキング後のサンドイッチ,
1,1,45,山で夕食,
1,2,40,Murphysでディナー,
1,1,40.81,山で夕食,
1,2,1294.76、台湾へのフライト、2011 年 1 月 17 日
1,2,118.78、グランド ハイアット @ ソウル、2011 年 1 月 22 日
1,1,268.12、ソウル現金引き出し、2011 年 1 月 8 日

これは、動作しないLOAD DATAコマンドです。

LOAD DATA INFILE '/tmp/expense_upload.csv'
INTO TABLE expenses (ss_id, user_id, cost, context, date)
;

このコマンドは完了し、正しい数の行をテーブルにアップロードしますが、すべてのフィールドが NULL です。FIELDS ENCLOSED BY ',' または LINES TERMINATED BY '\r\n' を追加しようとすると、構文エラーが発生します。

その他の注意事項: csv は MS Excel で作成されています。

誰かがヒントを持っているか、正しい方向に私を向けることができれば、それは大歓迎です!

4

2 に答える 2