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 で作成されています。
誰かがヒントを持っているか、正しい方向に私を向けることができれば、それは大歓迎です!