【问题标题】:MySQL "load data local infile" just loads 1 rowMySQL“加载数据本地infile”只加载1行
【发布时间】:2012-10-26 23:30:33
【问题描述】:

我需要将 csv 文件上传到我的 MySQL 表。出于某种原因,当我在 Mac Terminal 中运行以下命令时,只插入了一行。如何上传所有行?

load data local infile 'Research/cube_sample_data.csv' 
into table ad_spend 
fields terminated by ',' 
lines terminated by '\n';

我尝试了'\r\n'',\r\n',但没有成功。我不断收到这条消息:

Query OK, 1 row affected, 0 warnings (0.00 sec)
Records: 1  Deleted: 0  Skipped: 0  Warnings: 0

我的文件是这样的:

entertainment, games, 14

entertainment, movies, 12

我有一个 3 列的空表:

category (varchar), subcat (varchar), adspend (int)

【问题讨论】:

  • 您将不得不发布该文件中的一些示例行和该表的架构,否则我们无能为力。
  • 我的文件是这样的:娱乐,游戏,14,我有一个空表,有 3 列:类别(varchar),子猫(varchar),adspend(int)
  • 您的文件有空行。删除这些空行。还要检查文件使用的是哪个行尾字符。
  • 它没有空行,它看起来像这里。这是一个由 Excel 创建的 csv 文件。有什么方法可以检查它吗?我在 TextEdit 中看到它,看起来不错。
  • hakre,你是对的。我需要将它保存为 Windows 逗号分隔。像往常一样保存 Mac csv,在行之间添加一条不可见的线。它甚至在 TextEdit 中都不可见。

标签: mysql import load-data-infile


【解决方案1】:

似乎字段之间不仅有逗号,而且还有空格。所以尝试使用:

fields terminated by ', '

【讨论】:

  • 我需要将它保存为 Windows 逗号分隔。像往常一样保存 Mac csv,在行之间添加一条不可见的线。它甚至在 TextEdit 中都不可见。
猜你喜欢
  • 2011-05-25
  • 1970-01-01
  • 2015-03-27
  • 1970-01-01
  • 1970-01-01
  • 2011-01-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多