0

次のフィールドを持つテーブルがあります。

Name (varchar)
Ranking (int)
Age (int)
Favourite Court (varchar)

そしてこのようなCSVファイル

name;age;current_ranking;favourite_court
sample1;22;5;Hard
sample2;21;6;Clay

ファイルヘッダー(つまり、name; age ...)の有無にかかわらず、 :LOAD DATA LOCAL INFILE 'c:/players.csv' INTO TABLE players FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n';またはを使用してMySQLでインポートしようとしています。LOAD DATA LOCAL INFILE 'c:/players.csv' INTO TABLE players FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' (name,age,current_ranking,favourite_court);それは機能しません、フィールドはめちゃくちゃです。なんで?

4

1 に答える 1

3

ファイルの見出しの列ではなく、テーブルの列に名前を付ける必要があります。

LOAD DATA LOCAL INFILE 'c:/players.csv' INTO TABLE players
FIELDS TERMINATED BY ';'
IGNORE 1 LINES
(Name, Age, Ranking, `Favourite Court`)

また、LOAD DATA INFILE構文の下に記載されているように:

ノート 

Windowsシステムでテキストファイルを生成した場合LINES TERMINATED BY '\r\n'、Windowsプログラムは通常2文字を行末記号として使用するため、ファイルを正しく読み取るためにを使用する必要がある場合があります。ワードパッドなどの一部のプログラムは、\rファイルを書き込むときにラインターミネータとして使用される場合があります。このようなファイルを読み取るには、LINES TERMINATED BY '\r'

于 2012-09-16T14:37:35.643 に答える