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

时间:2013-08-26 04:05:41

标签: mysql mysql-error-1064

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

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

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

enter image description here

我的主键是candidateid,并且具有以下属性。

enter image description here

test.xls包含如下数据。 enter image description here

我已经从candidateid 61开始添加行,因为在表格中已经有60个候选人。

请提出解决方案。

2 个答案:

答案 0 :(得分:4)

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

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

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

答案 1 :(得分:1)

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

  

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

我自己导入的一些注释 - 如果您运行其他语言版本,MySQL版本,Excel版本等,可能不适用于您...

终止 - 这就是为什么我包含了第2步。我认为csv会默认以逗号分隔,但至少在我的情况下,分号是愚蠢的 封闭的 - 我的数据没有被任何东西包围,所以我把它留作空字符串“ LINES TERMINATED BY - 起初我只尝试'\ n'但是必须添加'\ r'来摆脱导入到数据库中的回车字符 另外请确保如果您没有导入主键字段/列,它已自动增加,则其他只会导入第一行

原始Author reference