MySQL单表多关键字模糊查询实现办法是很多人都异常想知道的一个问题,那么,毕竟采取什么办法,才能实现MySQL单表多关键字模糊查询呢?
在比来的一个项目须要实如今MySQL单表多关键字模糊查询,但这数个关键字并不必定都存在于某个字段。例如现有table表,个中有title,tag,description三个字段,分别记录一条材料的标题,标签和介绍。然后根据用户输入的查询请求,将输入的字通同过空格瓜分为多个关键字,再在这三个字段中查询包含这些关键字的记录
可今朝碰着的问题是,这些关键字是可能存在于三个字段中的随便率性一个或者多个,但又请求三个字段必须包含所有的关键词。假如分别对每个字段进行模糊匹配,是没法实现所需的请求,由此想到两种办法:
在插入记录的同时,将须要进行多字段模糊查询的字段归并成一个字串并参加到一个新的字段中,然后对这个新字段进行模糊查询。 应用全文检索,然则这须要用到中文分词或者将汉字转化为拼音(拆分汉字是弗成行的,MySQL默认FT最小字节为4),并且并晦气于往后的保护。
在网上爬了两天,对此问题的处理都没有找到知足的解决办法,最后在《MySQL威望指南》中翻到了CONCAT的应用办法,在书中的对CONCAT的描述是:
CONCAT(str1,str2,…)
返回值:由全部进出参数归并在一路而获得的字符串。只要输入的参数中有NULL值,就返回NULL。CONCAT许可只有一个输入参数的情况。
是以,MySQL单表多关键字模糊查询可以经由过程下面这个SQL查询实现
SELECT * FROM `magazine` WHERE CONCAT(`title`,`tag`,`description`) LIKE ‘%关键字%'
©2009-2016 pkmir2.com 版权所有 www.pkmir2.com 湘ICP备2022024766号-1
本站声明:本站所有技术资料与资源均为网络搜集整理,并不代表本站的观点与立场,如有侵犯您的权益,请来信xiov壹壹壹#qq.com指出,本站将立即改正
©CopyRight 2009-2012, 我本沉默传奇,我本沉默发布网,嘟嘟传奇,仙剑传奇,秋风传奇,情缘传奇,执迷古镇 网站地图 Inc.All Rights Reserved