问题与`AND`逻辑运算符mySQL
问题描述:
我有3个兴趣列:RateName
和URL
是varchars,MaxNum
是INT。 当我尝试执行下面的命令,它失败:问题与`AND`逻辑运算符mySQL
SELECT * FROM `table1` WHERE `RateName` LIKE '%$customerType%'" AND `URL` IS NOT NULL AND `MaxNum` = 2
错误是:#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '" AND URL IS NOT NULL AND MaxNumOfTiers = 2' at line 1
我试图查询分开,下面的代码工作正常:
SELECT * FROM `table1` WHERE `RateName` LIKE '%$customerType%'"
然而当我添加额外的AND
条件时,我收到错误。
答
删除那个流浪的双引号?
SELECT * FROM `table1` WHERE `RateName` LIKE '%$customerType%' -- was here
AND `URL` IS NOT NULL AND `MaxNum` = 2
的一个没有额外的条件应该会失败,除非你删除它或MySQL忽略它默默地
答
你有多余的"
在查询 - 删除它,它应该工作。
通常,避免在SQL中使用双引号"
。大多数SQL方言只支持使用单引号。一些方言,如PostgreSQL,使用双引号来转义名称(但不代表字符串)。
在SQL身体避免双引号也有不错的属性,您可以用它们来逃避整个SQL在你的编程语言如PHP,Perl和Python等
答
您的查询语法错误,你正在使用“和 ”在一个地方我都修改它下面这样用:
SELECT * FROM `table1` WHERE `RateName` LIKE '%$customerType%' AND `URL` IS NOT NULL AND `MaxNum` = 2
答
尝试LIKE '%$ customerType%' AND代替LIKE '%$ customerType%'“ AND和正常工作。