我有一个像这样的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]%'
我很感激任何意见/方向。
由于
答案 0 :(得分:10)
如果您在MyISAM类型表中,请尝试使用FULLTEXT索引:
ALTER TABLE sound_tracklist ADD FULLTEXT INDEX (artist, title);
然后你可以做
SELECT artist, title FROM sound_tracklist WHERE MATCH (artist, title) AGAINST ('bach brandenburg concerto')
它不会捕获拼写错误(“konshertoe”,任何人?),但它会在索引中的所有字段中搜索指定的键盘,并按任意顺序捕获它们。