MySQL LOAD DATA INFILE の方法を教えてください。


CREATE TABLE `test` (
`id` INT NOT NULL AUTO_INCREMENT ,
`t` TEXT,
`s` VARCHAR( 10 ),
`v` SET('a','b','c','d') NOT NULL DEFAULT 'a',
PRIMARY KEY ( `id` )
) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci
;

test.csv
,'a','b','a'
,"a","b","a"
,"a","b",1

LOAD DATA INFILE 'test.csv' INTO TABLE test LINES TERMINATED BY "\r\n";

結果は
3行挿入されていますが、t列、s列の値がNULLとなってしまいます。
(v列はなぜか空文字)

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2008/05/06 23:32:35
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:pahoo No.1

回答回数5960ベストアンサー獲得回数633

ポイント60pt

フィールド区切り文字を指定する FIELDS TERMINATED BY ',' と

文字列を囲むクォーテーション文字を指定する FIELDS TENCLOSED BY '"'

が必要です。


参考サイト

id:thwd

解決しました。

ありがとうございました。

2008/05/06 23:31:55

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません