【问题标题】:MySQL /phpmyadmin import CSV impossibleMySQL /phpmyadmin 导入 CSV 不可能
【发布时间】:2016-03-05 03:01:15
【问题描述】:

我正在尝试通过 Phpmyadmin 将 CSV 导入 MySQL。 我的文件是从另一个我无法访问或控制的软件中导出的。 可悲的是,文件“export.csv”在第一行包含一些“关于另一个数据库的信息”,在第 2 行包含列名。

我使用以下设置:

file: import.csv
character Set of file: iso-8859-1
Skip this number of queries (for SQL) or lines (for other formats), starting from the first one : 2
format: CSV
columns separated by: ;

但我总是收到错误“列数与行数不匹配:1”。

如果我删除 csv 文件中的前两行,它会完美运行。

在我看来,skip rows 不起作用。但为什么呢?

【问题讨论】:

  • 你能进入一个sql查询窗口并执行命令吗?
  • 可以,我应该执行什么?
  • LOAD DATA INFILEthis one 类似,但使用 [IGNORE number {LINES |行}]
  • CSV 中的列名是否与数据库中的列名匹配?如果没有,您可能需要填写 Column names 字段(仅在导入特定表时显示)。
  • 我想跳过列名...

标签: php mysql phpmyadmin


【解决方案1】:

您必须首先选择要将 CSV 文件导入到的表。您可以通过单击表名来执行此操作。然后您可以单击“导入”选项卡。如果你在这个地方使用了错误的顺序,那么你将被引导到唯一的 SQL 导入功能。这仍然是导入选项卡,但不会显示 CSV 导入功能。 因此,请确保您看到此菜单导入文件的格式,并在下方直接显示选项 CSV。否则你必须重试才能到达这个地方。

Number of records(queries) to skip from start: 1

Format of imported file
CSV

CSV using LOAD DATA

SQL

然后您选择 CSV 和右侧的正确选项:

Fields terminated by ;
Fields enclosed by "
Fields escaped by \
Lines terminated by auto
Column names ...

您必须复制 CSV 文件的第一行并删除 "" 并替换 ; by ,以获得列名。您还必须在此表单中在“列名”之后插入这些列名,而不是我的三个点 (...)。

例如:

Column names uid,pid,tstamp,crdate,deleted,hidden,starttime,endtime,fe_group,title,subtitle,itemnumber,price,note,image,inStock

结果将如下所示:

Import has been successfully finished, 94 queries executed.

【讨论】:

    猜你喜欢
    • 2012-09-10
    • 2013-05-11
    • 1970-01-01
    • 2013-07-21
    • 2014-07-12
    • 2021-09-08
    • 2015-07-07
    相关资源
    最近更新 更多