(ASP)MS Access - > MySQL:选择错误,其中[..]字符串

时间:2014-03-09 13:26:31

标签: mysql ms-access select asp-classic where

我在我的网站上使用门户系统并严重修改了ASP代码。 由于网站不断发展,我想从MS Acces迁移到MySQL。

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

  

Microsoft OLE DB Provider for ODBC Drivers错误“80040e14”

     

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

     

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

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

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

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

2 个答案:

答案 0 :(得分:1)

丢掉方括号

(我不妨发布这个答案而不是评论)

答案 1 :(得分:1)

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

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

请参阅:is operator