3

我可以使用 CSV 选项导入 CSV 文件,但不适用于带有 LOAD DATA 的 CSV。我得到错误

Error: 1083 - Field separator argument is not what is expected

...虽然我做的一切都是一样的,将同一个文件上传到同一个表。

4

1 回答 1

2

您可能忘记将字段分隔符设置为逗号。这是从MySQL 文档加载 CSV 文件的示例命令。

LOAD DATA INFILE 可用于读取从外部来源获得的文件。例如,许多程序可以以逗号分隔值 (CSV) 格式导出数据,这样行的字段由逗号分隔并用双引号括起来,并带有列名的初始行。如果此类文件中的行以回车符/换行符对终止,则此处显示的语句说明了用于加载文件的字段和行处理选项:

LOAD DATA INFILE 'data.txt' INTO TABLE tbl_name
  FIELDS TERMINATED BY ',' ENCLOSED BY '"'
  LINES TERMINATED BY '\r\n'
  IGNORE 1 LINES;

一些注意事项:

  • 如果您的第一行不包含标题,则应省略IGNORE 1 LINES.
  • 如果您的字段没有用引号引起来,您也可以省略它。
  • 最后,如果您的文件是本地文件,您应该使用LOAD DATA LOCAL INFILE.
于 2013-08-05T16:03:36.570 回答