Mysql 跨多个字段进行文本搜索

Mysql 跨多个字段进行文本搜索,mysql,Mysql,我有一个MySQL表,如下所示: ID | Artist | Title 其中包含从MP3 ID3标签获取的歌曲信息 现在,我希望能够对此进行搜索,但是传入的数据可能有多种格式。我相信你们都知道ID3标签在被几个人抓住后会有怎样的结局 我已经尝试过下面的查询,但是现在看看它,我完全理解为什么它不能返回结果集。我没有什么想法 SELECT CONCAT(artist, ' ',title) as trackname FROM sound_tracklist WHERE CONCAT(arti

我有一个MySQL表,如下所示:

ID | Artist | Title
其中包含从MP3 ID3标签获取的歌曲信息

现在,我希望能够对此进行搜索,但是传入的数据可能有多种格式。我相信你们都知道ID3标签在被几个人抓住后会有怎样的结局

我已经尝试过下面的查询,但是现在看看它,我完全理解为什么它不能返回结果集。我没有什么想法

SELECT CONCAT(artist, ' ',title) as trackname 
FROM sound_tracklist 
WHERE CONCAT(artist,' ',title) LIKE '%[JunkTags]Artist - Title[More Junk - www.junkwebsite.com]%'
如果您能就此提供任何意见/指导,我将不胜感激


谢谢

如果您在MyISAM类型的表中,请尝试使用全文索引:

ALTER TABLE sound_tracklist ADD FULLTEXT INDEX (artist, title);
那你就可以了

SELECT artist, title FROM sound_tracklist WHERE MATCH (artist, title) AGAINST ('bach brandenburg concerto')

它不会捕捉拼写错误(“konshertoe”,任何人?),但它会在索引中的所有字段中搜索您指定的键盘,并以任何顺序捕捉它们。

您将需要比像“%string%”这样的
更强大的搜索机制。
。例如,尝试将搜索词拆分为单词,并在每个单词上运行搜索?嘘。。。我真的需要多睡一会儿。