WHERE子句。该子句将映射到全文查询和过滤器。 比较运算符(=,!=,<,>,< =,> =),IN,AND,NOT和BETWEEN 全部支持并直接映射到过滤器
但是当我尝试使用下一个查询选择数据时,我遇到了麻烦:
mysql> select * from content where NOT sentiment = 1;
ERROR 1064 (42000): sphinxql: syntax error, unexpected NOT, expecting IDENT (or 56 other tokens) near 'NOT sentiment = 1'
有什么问题?
答案 0 :(得分:1)
NOT
是一个运算符,通常与另一个运算符(如IN
)或处理布尔值或NULL
;
有效示例:
SELECT * FROM content WHERE sentiment IS NOT TRUE;
SELECT * FROM content WHERE sentiment IS NOT NULL;
SELECT * FROM content WHERE sentiment NOT IN (1, 2);
SELECT * FROM content WHERE sentiment NOT BETWEEN 1 AND 5;
你也可以将它用作逻辑NOT
,它将反转零和非零值:
SELECT NOT (1+3); /* 0 */
SELECT NOT 0; /* 1 */
您的查询应使用!=
或<>
运算符:
SELECT * FROM content WHERE sentiment != 1;
SELECT * FROM content WHERE sentiment <> 1;