本文介绍了SQL 语句忽略 where 参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
SELECT * FROM people
WHERE
university='2'
AND MATCH (lname,fname) AGAINST ('+massive' IN BOOLEAN MODE)
OR (fname LIKE '%box%' OR lname LIKE '%box%')
This query is allowing results to filter through other than those of university='2' how would I update this so it strictly only shows results where university = 2
The reason I have combined fulltext search with LIKE is because of the minimum letter count that full text search has and because I am on a shared hosting plan I am unable to modify the settings. As a result I have combined both full text and LIKE in order to accommodate
解决方案Fix your parentheses
SELECT * FROM people WHERE university='2' AND (MATCH (lname,fname) AGAINST ('+massive' IN BOOLEAN MODE) OR fname LIKE '%box%' OR lname LIKE '%box%')AND has higher precedence than OR, so university = '2' was only being combined with MATCH, not with the fname/lname tests.
更多推荐
SQL 语句忽略 where 参数
发布评论