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

我尝试使用 MySQL 导入它:LOAD DATA LOCAL INFILE 'c:/players.csv' INTO TABLE players FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n';or 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 程序通常使用两个字符作为行终止符。某些程序,例如WordPad,可能会\r在写入文件时用作行终止符。要读取此类文件,请使用LINES TERMINATED BY '\r'

于 2012-09-16T14:37:35.643 回答