MySQL不工作

时间:2012-09-26 19:30:01

标签: mysql mysql-error-1064 notin

我正在努力将MySQL语句放在一起,并且想知道它的问题是什么。 为什么这个MySQL语句不起作用?

SELECT * 
FROM  `deals` 
WHERE CATEGORY NOT 
IN  'Construction & Repair'
AND (
EXPIRE_DATE >= NOW() 
OR EXPIRE_DATE IS NULL
)
AND LOCATION =  'Melbourne'
AND STATUS =  'Active'
LIMIT 0 , 1000

我收到以下错误消息:

#1064 - 您的SQL语法出错;查看与您的MySQL服务器版本对应的手册,以便在''Construction&amp ;;附近使用正确的语法。修复'AND(EXPIRE_DATE> = NOW()或EXPIRE_DATE为空)和'第1行

4 个答案:

答案 0 :(得分:1)

把它放在括号中

WHERE CATEGORY NOT 
IN  ('Construction & Repair')

答案 1 :(得分:0)

我认为您的语法错误,您希望它是:

 NOT IN ("item1", "item2")

答案 2 :(得分:0)

使用

SELECT * 
FROM  `deals` 
WHERE CATEGORY = 'Construction & Repair'
AND (
EXPIRE_DATE >= NOW() 
OR EXPIRE_DATE IS NULL
)
AND LOCATION =  'Melbourne'
AND STATUS =  'Active'
LIMIT 0 , 1000

答案 3 :(得分:0)

IN之后的任何内容都应该在括号中。

IN('Construction & Repair')