我这里有一个非常棘手的问题,
我有一个包含多个字段的表。现在,我的查询中的WHERE子句如下所示:
a.body like '%$v%'
or a.model like '%$v%'
or a.other like '%$v%'
or s.name like '%$v%'
or w.name like '%$v%'
or b.name like '%$v%'
or p.name like '%$v%'
or c.name like '%$v%'
or o.name like '%$v%'
or cat.name like '%$v%'
所有这些字段都是VARCHAR(255)
,而$v
将是搜索字词...
我想接受此查询并执行更准确的搜索。现在它正在给出不希望的结果。
我只是想知道,我可以将所有这些字段转换为1个大字符串搜索,还是应该为所有字段添加全文索引并对所有这些字段进行匹配?
非常感谢任何帮助。
答案 0 :(得分:0)
你试过这个吗?
WHERE CONCAT(a.body,a.model,a.other,s.name,w.name,b.name,p.name,c.name,o.name,cat.name) LIKE "%$v%"