与否定匹配

| 我想在MySql中使用match搜索在状态字段中不包含“ rajasthan \”的行。 我的查询是这样的:
SELECT * from member where MATCH(state) AGAINST(\'-rajasthan\' IN BOOLEAN MODE) 
但是,它将返回一个空结果集。 这是什么问题?     
已邀请:
我相信这可以解决问题:
SELECT 
  *
FROM 
  Member
WHERE 
  NOT MATCH (state) AGAINST (\'+rajasthan\' IN BOOLEAN MODE)
来源:MySQL布尔全文本搜索中的“显示所有除外” 当心-我相信这将进行全表扫描,并且您可能希望此查询不会从FullText索引中受益。 至于空结果:   注意:-运算符仅用于排除其他搜索词匹配的行。因此,仅包含以-开头的术语的布尔模式搜索将返回空结果。它不会返回“除包含任何排除条款的行以外的所有行”。 资源     
-运算符仅用于排除其他搜索词匹配的行。因此,仅包含以-开头的术语的布尔模式搜索将返回空结果。它不会返回“除包含任何排除条款的行以外的所有行”。 因此,尝试附加到查询
OR 1 = 1
,以便查询返回没有MATCH运算符的所有记录     

要回复问题请先登录注册