逃脱分号; MYSQL for Excel

我想用Excel for Excel插件将数据从excel表导入到MySQL数据库中。 在一些单元格中有分号的文本,我已经知道这会导致SQL错误。 我试着用反斜杠转义分号,但我仍然得到错误信息。 我怎样才能逃脱分号?

启,这个行为纯粹是MySQL对Excell的错,似乎是一个bug。

同时,如果您不想按照他人的build议更改您的Excel数据,则可以使用以下解决方法:

在MySQL-for-Excel窗口中,单击“ Options ,然后select“ Preview SQL statements before they are sent to the serverAccept

然后,使用加载项导出/追加数据,正常进行,但是当出现Review SQL script窗口时,将内容复制到另一个SQL工具(MySQL工作台, HeidiSQL , SQLWorkbench等)中,然后运行。 然后在Mysql-for-Excellpopup窗口中单击取消,并根据需要刷新查询。

另外:请随时在http://bugs.mysql.com/上报告错误

用一些独特的文本replace分号,例如[SEMICOLON]。 接下来将数据导入到SQL并运行类似的东西

 UPDATE your_table SET your_field = REPLACE(your_field, '[SEMICOLON]', ';') WHERE your_field LIKE '%[SEMICOLON]%' 

我想所有你需要做的是考虑Excel从CSV文件导入数据时的要求(parsing规则可能是相同或相似的)在你的情况下,如果一个字段包含任何特殊字符,只要用双引号在Excel中导入内容之前。

所以:

 UPDATE table SET field = '"' || field || '"' WHERE field like '%,%' 

以下规则应适用于:

  • 包含换行符,双引号和/或逗号的字段应被引用
  • 任何字段可能会被引用(双引号)
  • 字段中的(双)引号字符必须由两个(双)引号字符表示。

更多细节: 维基百科:逗号分隔值