我可以使用 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/