アプリ版:「スタンプのみでお礼する」機能のリリースについて

load data local infileでcsvをインポートしているのですが
ヘルプなどを見ても特定のフィールドのみを選択する方法がよく分かりません
たとえば
csv:フィールドA、フィールドB、フィールドC、フィールドD、フィールドE、フィールドF
MySQL:カラム1、カラム2、カラム3、カラム4、カラム5

だとします、それを

フィールドA→カラム2
フィールドC→カラム3
フィールドD→カラム4
フィールドF→カラム5

という風に選択したいのですがどういう風に指定したらいいのでしょうか?
よろしくお願いします。

A 回答 (3件)

オプションは順に記述する必要があるので、後ろではなく、変数指定の前(テーブル名の後)に記述する必要があります。



LOAD DATA INFILE 'file_name'
INTO TABLE table_name
FIELDS TERMINATED BY ';' ENCLOSED BY '"'
LINES TERMINATED BY '¥r¥n' IGNORE 1 LINES
(@fieldA, @fieldB, @fieldC, @fieldD, @fieldE, @fieldF)
SET col2=@fieldA, col3=@fieldC, col4=@fieldD, col5=@fieldF;

No1 の方がマニュアルへのリンクを張ってくれているので、一度目を通されるといいと思います。
    • good
    • 0
この回答へのお礼

ありがとうございます、本当に助かりました。

お礼日時:2010/12/02 07:07

LOAD DATA INFILE 'file_name'


INTO TABLE table_name
(@fieldA, @fieldB, @fieldC, @fieldD, @fieldE, @fieldF)
SET col2=@fieldA, col3=@fieldC, col4=@fieldD, col5=@fieldF;

この回答への補足

回答ありがとうございます。
この後ろに
FIELDS TERMINATED BY ';' ENCLOSED BY '"'
LINES TERMINATED BY '¥r¥n' IGNORE 1 LINES;
を付けたら以下のエラーになります、どうしてでしょうか?

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FIELDS TERMINATED BY ';' ENCLOSED BY '"'

補足日時:2010/12/01 20:44
    • good
    • 0

LOAD DATA INFILE 'file.txt'


INTO TABLE t1
(column1, @dummy, column2, @dummy, column3);

と公式にかいてありますね
(捨てたいデータは変数にわりあてて利用しない)

参考URL:http://dev.mysql.com/doc/refman/5.1/ja/load-data …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す