mysql - 我可以使用 CSV 选项导入 CSV 文件,但不适用于使用 LOAD DATA 的 CSV

标签 mysql

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

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

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

最佳答案

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

LOAD DATA INFILE can be used to read files obtained from external sources. For example, many programs can export data in comma-separated values (CSV) format, such that lines have fields separated by commas and enclosed within double quotation marks, with an initial line of column names. If the lines in such a file are terminated by carriage return/newline pairs, the statement shown here illustrates the field- and line-handling options you would use to load the file:

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

关于mysql - 我可以使用 CSV 选项导入 CSV 文件,但不适用于使用 LOAD DATA 的 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18061917/

相关文章:

php - 使用 PHP 将下拉列表中的值存储到数据库

php - 管理未知数量 EAV 属性上的 JOIN

PHP:foreach msqli_query 问题

mysql - 错误 1452 : 23000 Cannot add or update a child row. ..mysql

MYSQL - 语法错误

php - 查询多个表输出重复的结果

php - 使用 PHP/MySQL 将视频上传到文件夹及其到数据库的链接

mysql - 向服务器添加额外的 MySQL 数据文件夹。 Ubuntu

php - 如何在sql查询中对数据进行排序(根据数据库字段的json格式中存在的值)

php - 如何修改/删除用户php