我想使用MySQL for Excel插件将数据从Excel工作表导入MySQL数据库。在某些单元格中是带有分号的文本,我已经发现这会导致SQL错误。我尝试使用反斜杠转义分号,但我仍然收到错误消息。我怎么能逃脱分号?
答案 0 :(得分:2)
启, 这种行为纯粹是MySQL for Excel的错误,似乎是一个错误。
与此同时,如果您不热衷于按照其他人的建议更改您的Excel数据,则有一种解决方法:
在MySQL-for-Excel窗口中,点击Options
,然后选择Preview SQL statements before they are sent to the server
和Accept
。
然后使用外接程序正常执行导出/附加数据,但是当出现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 '%,%'
以下规则应适用: