我想使用LIKE子句来帮助搜索功能。
根据网站上的用户,该用户将具有一个名称,该名称我想指定在数据库中查找的位置。
如果我有这样一个表:
名称:统计
username - score - id
Erik - 15 - 1
John - 10 - 2
John - 12 - 3
Erik - 15 - 4
Philip - 13 - 5
Patrik - 15 - 6
Patrik - 17 - 7
Patrik - 8 - 8
Erik - 9 - 9
SELECT username, score, id, FROM stats WHERE id
LIKE'%".search."%'
OR username LIKE'%".search."%'
OR score LIKE'%".search."%'
AND username = 'Erik';
现在发生的是,如果我搜索erik,它将返回erik和patrik,因为rik进入了用户名搜索;如果我输入15,它还将返回Erik和patriks值
有没有一种方法可以覆盖它,所以当我输入WHERE username = erik时,它将仅在具有该用户名值的行上使用Like子句,而不会读取整个表
最佳答案
由于我的评论起作用了...这是建议的解决方案。
您需要在所需的层次结构中加上括号。
SELECT username, score, id
FROM stats
WHERE (id LIKE'%".search."%'
OR username LIKE'%".search."%'
OR score LIKE'%".search."%')
AND username = 'Erik';
关于mysql - 指定LIKE子句可以查看的位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55727779/