MySQL中的“反向搜索” - 从提交的干草堆中查找匹配的针(在DB中)

时间:2014-04-30 21:43:24

标签: mysql search reverse

我希望能够根据用户提交的干草堆找到现有的针(存储为数据库条目)。

例如......

在数据库中有以下条目: '着火', “捉鬼敢死队”, 'jay and silent bob', '终结者2'

如果我然后“提交”一个“饥饿游戏着火”的干草堆,我希望它能够挑选出“捕火”数据库条目 - 因为该针存在于我提交的干草堆中。我会将此描述为“反向搜索”,尽管它可能不是正确的短语...... !!

这是否可行,而无需遍历数据库中的每一个“针”?

提前致谢

1 个答案:

答案 0 :(得分:0)

不,如果不进行表扫描,就无法进行此类反向搜索。

搜索结果如下:

SELECT * FROM needles 
WHERE 'hunger games catching fire' LIKE CONCAT('%', title, '%');

或者使用正则表达式词边界模式:

SELECT * FROM needles 
WHERE 'hunger games catching fire' RLIKE CONCAT('[[:<:]]', title, '[[:>:]]');