-1

我正在努力将 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 服务器版本相对应的手册,以在第 1 行的“Construction & Repair”AND (EXPIRE_DATE >= NOW() OR EXPIRE_DATE IS NULL) AND' 附近使用正确的语法

4

4 回答 4

1

把它放在括号里

WHERE CATEGORY NOT 
IN  ('Construction & Repair')
于 2012-09-26T19:32:05.457 回答
0

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

 NOT IN ("item1", "item2")
于 2012-09-26T19:32:16.860 回答
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
于 2012-09-26T19:33:10.730 回答
0

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

IN('Construction & Repair')
于 2012-09-26T19:33:12.223 回答