我在我的网站上使用门户系统并严重修改了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上工作。
答案 0 :(得分:1)
丢掉方括号
(我不妨发布这个答案而不是评论)
答案 1 :(得分:1)
在MySQL中,列和表名可以使用反引号字符`
进行转义,或者如果使用双引号"
启用ANSI SQL模式。
您的WHERE子句(根据错误消息)是Where IsModActive='1'
。如果IsModActive
是文本列,则此方法有效。如果是数字,请删除单引号。如果IsModActive
是布尔值,请将子句更改为Where IsModActive IS true
。
请参阅:is operator