我可以导入带有CSV选项的CSV文件,但不适用于带有LOAD DATA的CSV



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

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

尽管我在做同样的事情,上传同样的文件到同一张表。

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

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

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

一些注意事项:

  • 如果第一行不包含标题,则应省略IGNORE 1 LINES
  • 如果您的字段没有用引号括起来,您也可以省略它
  • 最后,如果您的文件本地,您应该使用LOAD DATA LOCAL INFILE

最新更新