代码之家  ›  专栏  ›  技术社区  ›  Dick Ravelli

(ASP)MS Access->MySQL:Select中出错,其中[..]string

  •  0
  • Dick Ravelli  · 技术社区  · 11 年前

    我正在我的网站上使用门户系统,并对ASP代码进行了大量修改。 由于网站不断增长,我想从MS Accel迁移到MySQL。

    现在,我认为我使用的门户(以及我输入的一些代码)与MySQL不兼容,因为当我切换到MySQL数据库时,会出现以下错误。

    Microsoft OLE DB Provider for ODBC驱动程序错误“80040e14”

    [MySQL][ODBC 5.1驱动程序][mysqld-5.1.55-community]您在 SQL语法;检查与MySQL对应的手册 要在'[EzModuleID]附近使用正确语法的服务器版本, [ModName]来自EzCore_Plugin,其中第1行的IsModActive=“1”

    [网站]\WWWROOT\BOXX\包括..//includes/include.asp,第3736行

    有关此行的SQL字符串如下:

    Select [EzModuleID], [ModName] From EzCore_Plugin Where [IsModActive] = 1;
    

    我是MySQL新手,我找不到为什么会出现错误。 我试过引用1,删除[],删除空格。。 我想,当我弄清楚为什么这会导致错误时,我可以继续修改其余部分,使网站在mysql上运行。

    2 回复  |  直到 7 年前
        1
  •  1
  •   John    11 年前

    去掉方括号

    (我不妨将此作为答案发布,而不是评论)

        2
  •  1
  •   Olivier Jacot-Descombes    11 年前

    在MySQL中,列和表名称可以用反引号字符转义 ` 或者如果使用双引号启用了ANSI SQL模式 " .

    WHERE子句(根据错误消息)是 Where IsModActive='1' 。如果 IsModActive 是文本列。如果是数字,请删除单引号。如果 IsModActive(IsModActive) 是布尔值,请将子句更改为 Where IsModActive IS true .

    参见: is operator