逃脱分号; 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 server
并Accept
然后,使用加载项导出/追加数据,正常进行,但是当出现Review SQL script
窗口时,将内容复制到另一个SQL工具(MySQL工作台, HeidiSQL , SQLWorkbench等)中,然后运行。 然后在Mysql-for-Excellpopup窗口中单击取消,并根据需要刷新查询。
用一些独特的文本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 '%,%'
以下规则应适用于:
- 包含换行符,双引号和/或逗号的字段应被引用
- 任何字段可能会被引用(双引号)
- 字段中的(双)引号字符必须由两个(双)引号字符表示。
更多细节: 维基百科:逗号分隔值