SELECT * FROM people
WHERE
university='2'
AND MATCH (lname,fname) AGAINST ('+massive' IN BOOLEAN MODE)
OR (fname LIKE '%box%' OR lname LIKE '%box%')
此查询允许过滤除 university='2'
以外的结果 我将如何更新它以便它严格只显示 university = 2
我将全文搜索与 LIKE 相结合的原因是因为全文搜索具有最少的字母数,而且因为我使用的是共享主机计划,所以我无法修改设置。因此,我结合了全文和 LIKE 以适应
最佳答案
修正你的括号
SELECT * FROM people
WHERE
university='2'
AND (MATCH (lname,fname) AGAINST ('+massive' IN BOOLEAN MODE)
OR fname LIKE '%box%'
OR lname LIKE '%box%')
AND
的优先级高于 OR
,因此 university = '2'
仅与 MATCH
组合,而不是 fname/lname
测试。
关于mysql - SQL 语句忽略 where 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27663976/