逃避分号; MYSQL for Excel

时间:2014-04-04 09:11:37

标签: mysql excel escaping

我想使用MySQL for Excel插件将数据从Excel工作表导入MySQL数据库。在某些单元格中是带有分号的文本,我已经发现这会导致SQL错误。我尝试使用反斜杠转义分号,但我仍然收到错误消息。我怎么能逃脱分号?

3 个答案:

答案 0 :(得分:2)

启, 这种行为纯粹是MySQL for Excel的错误,似乎是一个错误。

与此同时,如果您不热衷于按照其他人的建议更改您的Excel数据,则有一种解决方法:

在MySQL-for-Excel窗口中,点击Options,然后选择Preview SQL statements before they are sent to the serverAccept

然后使用外接程序正常执行导出/附加数据,但是当出现Review SQL script窗口时,将内容复制到另一个SQL工具(MySQL工作台,HeidiSQL,{{3等等),并运行。然后在Mysql-for-Excel弹出窗口中单击“取消”,并在必要时刷新查询。

另外:随时在SQLWorkbench

报告错误

答案 1 :(得分:0)

用一些独特的文字替换分号,例如[分号]。 接下来将数据导入SQL并运行类似

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

答案 2 :(得分:-1)

我认为您需要做的就是考虑Excel从CSV文件导入数据时的要求(解析规则可能相同或类似) 在您的情况下,如果某个字段包含任何特殊字符,则只需在Excel中导入内容之前使用双引号引用这些值。

所以:

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

以下规则应适用:

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

更多详情:Wikipedia: Comma-separated values