从Excel复制到phpmyadmin时删除特殊字符

2q5ifsrm  于 2022-11-09  发布在  PHP
关注(0)|答案(2)|浏览(163)

我在Excel工作表中构造了大量的SQL语句。当我将这些语句复制到phpmyadmin的SQL界面时,这些语句在Excel中看起来结构合理,如果我将它们复制到记事本中,则会添加特殊字符,导致我的Inserts和/或Update语句失败。
以下是其中一个SQL语句在Excel(或复制/粘贴后的记事本)中显示的示例:

INSERT INTO `abc_mytable`.`employeeMain` (`employeeID`, `employeeName`, `empSymbol`, `empURL`,`empType`, `empCategory`) 
VALUES (NULL, 'Joe', 'J14', 'https://www.website.com/joe14','FT', 'MANAGE');

当我将此语句复制/粘贴到phpmyadmin中并尝试将SQL查询提交到我的DB时,收到以下错误(请注意特殊字符)。

1064 -您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,了解在第1行'INSERT INTO abc_mytable. employeeMainemployeeIDemployeeName,' empSym'附近使用的正确语法

5uzkadbs

5uzkadbs1#

我猜employeeID是一个自动递增的主键。
您可以尝试:

INSERT INTO abc_mytable.employeeMain
   (employeeName, empSymbol, empURL,empType,empCategory) 
VALUES 
   ('Joe', 'J14', 'https://www.website.com/joe14','FT', 'MANAGE');

如果不是这个问题,您可以尝试不使用字符**"'**,因为它看起来会以某种方式转换为。只有当字段名称包含空格时才需要使用它们,通过删除它们您可以检查问题是否真的是它们。请反馈我们。

voase2hg

voase2hg2#

这里有几个选择,因为这也让我很恼火。

1.用于应用程序的Visual Basic(VBA):

沿着这些行的sub将删除活动工作表中的所有“假空格”字符:

Sub removeFakeSpaces()
    Dim fakeSpace As String
    fakeSpace = " "
    ActiveSheet.UsedRange.Replace What:=fakeSpace, Replacement:=" "
End Sub

这会将“伪空白”字符的所有示例替换为实际的空格字符。
如果这不起作用,您可能需要将现有的“伪空白”字符(见下文)复制到该行中:
fakeSpace = " "

2.在Excel中使用查找/替换:

  • 在Excel单元格的SQL语句中,复制第一个“假空格”字符(例如,在“INSERT”和“INTO”之间)
  • 使用“查找/替换”,将复制的“伪空格”字符粘贴到“查找”框中
  • 在“替换”框中,只需键入““(实际空格)
  • 然后,您可以从该单元格复制到phpmyadmin
    3.在Excel外查找/替换:
  • 将SQL语句从Excel复制到IDE/文本编辑器中。
  • 突出显示第一个“伪空格”字符(例如,“INSERT”和“INTO”之间)
  • 复制此角色
  • 使用查找/替换功能查找复制的字符并替换为““(实际空格)
  • 然后可以将其粘贴到phpmyadmin中

相关问题