从Excel导入数据的错误1064,保留字符

我试图从Excel 2010中导入一个表格到MySQL 5.6通过MySQL的Excel。

它错误地给我一个MySQL Error 1064: You have an error in your SQL syntax...

导致错误的实际字符是正在导入的数据字段内的分号。 当我把所有的“;” 与&#59# (但不是 ; )它工作正常。

如何在不更改数据的情况下导入这些文件?

我还没有find使用MySQL for Excel的解决scheme,但作为替代分号的替代方法,您可以将Excel工作表保存为CSV文件并使用LOAD DATA INFILE 。 以下是可以从具有到数据库服务器的远程连接的Windows计算机使用的语法示例:

 LOAD DATA LOCAL INFILE 'c:/path/to/my_excel_data.csv' INTO TABLE my_table FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\r\n' 

MySQL将在LOAD DATA语句中正确解释正斜杠的Windowspath。

请注意, LOCAL关键字为MySQL客户端读取文件信号,因此在本例中,“本地”是指客户端软件,而不是数据库服务器。

如果您的电子表格中的任何单元格中都有“无匹配的"字符,例如,如果here is " an unmatched double-quote包含的单元格here is " an unmatched double-quote ,Excel将同时用双引号将双string括起来,保存为CSV时string中不匹配的双引号,所以你得到的是"here is "" an unmatched double-quote" 。 我不确定MySQL在这种情况下会如何反应。