【问题标题】:Importing CSV into MySQL with White Space使用空格将 CSV 导入 MySQL
【发布时间】:2017-11-09 17:41:53
【问题描述】:

有人成功将 csv 文件导入 MySQL 吗?

这是一个示例 csv 文件:

Full name,Source - Name
John,Youtube
Jon,FB
Jacob,Twitter

代码如下:

CREATE TABLE Person
(ID          INT        AUTO_INCREMENT          primary key,
fullname     CHAR       not null,
sourcenam1   CHAR,
);

LOAD DATA LOCAL INFILE '/Users/...DDB.csv' INTO TABLE t1
FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'
(Full name, Source - Name)

但是我收到一个错误,说我的语法错误。具体如下:

ERROR 1064 (42000):您的 SQL 语法有错误

我希望不必删除列名来解决此问题。

【问题讨论】:

标签: mysql csv import whitespace


【解决方案1】:

LOAD DATA 列列表中的名称应该是表中的列名,而不是 CSV 文件中的标题。

您还需要使用IGNORE 选项跳过标题行。

LOAD DATA LOCAL INFILE '/Users/...DDB.csv' INTO TABLE t1
FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'
IGNORE 1 LINES
(fullname, sourcenam1)

【讨论】:

  • Hmmm.... 当我这样做时,我收到以下错误:错误 1054 (42S22):“字段列表”中的未知列“全名”注意:更新后的代码看起来像这样 LOAD DATA LOCAL INFILE '/Users/...DDB.csv' 进入表 t1 字段以 ',' 终止的行 '\n' (Full name, Source - Name) set fullname = Full name, sourcenam1 = @987654327 @;
  • 表中列的实际名称是什么?
  • CSV 文件?全名和来源 - 名称。在 t1 中,它的全名和 sourcenam1。
  • MySQL 不使用 CSV 中的名称。
  • 我是否必须使用 set 选项来指示 fullname 和 sourcename1 应该去哪里?该解决方案会是什么样子?
猜你喜欢
  • 2013-05-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多