我有一个包含以下字段的表:
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 ';'行终止于 '\n';
或 将数据本地内文件 'c:/players.csv' 加载到表玩家字段中终止于 ';'以 '\n' 结尾的行 (name,age,current_ranking,favourite_court);
,带或不带文件头(即 name;age...)。
它不起作用,字段困惑。为什么?
最佳答案
您需要命名表中的列,而不是文件中标题的列:
LOAD DATA LOCAL INFILE 'c:/players.csv' INTO TABLE players
FIELDS TERMINATED BY ';'
IGNORE 1 LINES
(Name, Age, Ranking, `Favourite Court`)
此外,如 LOAD DATA INFILE
Syntax 下所述:
Note
If you have generated the text file on a Windows system, you might have to use
LINES TERMINATED BY '\r\n'
to read the file properly, because Windows programs typically use two characters as a line terminator. Some programs, such as WordPad, might use\r
as a line terminator when writing files. To read such files, useLINES TERMINATED BY '\r'
关于mysql - 将 CSV 数据导入 SQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12447741/