0

如何将 10,000 行 test.xls 文件加载到 mysql db 表中?

当我使用以下查询时,它会显示此错误。

LOAD DATA INFILE 'd:/test.xls' INTO TABLE karmaasolutions.tbl_candidatedetail (candidate_firstname,candidate_lastname);

在此处输入图像描述

我的主键是 Candidateid,具有以下属性。

在此处输入图像描述

test.xls 包含如下数据。 在此处输入图像描述

我添加了从 Candidateid 61 开始的行,因为表中已经有 60 行候选。

请提出解决方案。

4

2 回答 2

4

将您的 Excel 电子表格导出为 CSV 格式。

使用与您当前尝试的命令类似的命令将 CSV 文件导入 mysql:

LOAD DATA INFILE 'd:/test.csv'
INTO TABLE karmaasolutions.tbl_candidatedetail 
(candidate_firstname,candidate_lastname);
于 2013-08-26T04:13:12.197 回答
1

使用 MySQL 命令提示符下的 LOAD DATA 命令从 Excel(或任何其他可以生成文本文件的程序)导入数据非常简单。

将您的 Excel 数据另存为 csv 文件(在 Excel 2007 中使用另存为)使用文本编辑器(例如记事本)检查保存的文件以查看其实际外观,即使用的分隔符等。启动 MySQL 命令提示符(I'我很懒,所以我通常从 MySQL 查询浏览器 - 工具 - MySQL 命令行客户端执行此操作,以避免输入用户名和密码等)输入此命令: LOAD DATA LOCAL INFILE 'C:\temp\yourfile.csv' INTO TABLE database.table FIELDS TERMINATED BY ';' 由 '"' 包围的行由 '\r\n' (field1, field2) 终止;[编辑:如果您复制并粘贴此代码,请确保检查您的单引号 (') 和双引号 (") - 似乎 WordPress 正在将它们更改为一些相似但不同的字符] 完成!一旦你知道它就非常快速和简单:)

我自己导入的一些注释——如果您运行不同的语言版本、MySQL 版本、Excel 版本等,可能不适用于您……</p>

TERMINATED BY——这就是我包含第 2 步的原因。我认为 csv 会默认以逗号分隔,但至少在我的情况下,分号是默认的 ENCLOSED BY——我的数据没有被任何东西包围,所以我将其保留为空字符串“LINES TERMINATED BY – 起初我只尝试使用 '\n' 但必须添加 '\r' 以摆脱导入数据库的回车符另外确保如果不导入主键字段/列它具有自动增量,否则只会导入第一行

原作者参考

于 2013-08-26T04:49:31.143 回答