搜索单词,而不是mysql中的短语< 5.6.4

时间:2014-12-30 06:47:39

标签: mysql full-text-search

我正在寻找一种在mysql表中搜索单词的方法。考虑到我有一个这样的表:

CREATE TABLE IF NOT EXISTS `q_news` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(250) NOT NULL,
  `short_content` text NOT NULL,
  `content` text NOT NULL,
  `description` varchar(400) NOT NULL,
  `keywords` varchar(100) NOT NULL,
  PRIMARY KEY (`id`),
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 ;

在其中一个记录中,在title字段中我有#34;快速的棕色狐狸跳过懒狗"

现在,我想在寻找"快速懒惰" - 我不能使用匹配,因为它的innoDb和mysql版本低于5.6.4。那么解决方案是什么?我唯一想到的是:

select * from q_news where `title` like '%quick%%lazy%'

但不知怎的,我不喜欢这个解决方案,有更好的方法吗?

PS。我不知道如何表达我的问题,所以不能谷歌,对不起,如果这是重复的话。

2 个答案:

答案 0 :(得分:0)

这个怎么样?

SELECT * FROM q_news WHERE `title` LIKE '%quick%' AND `title` LIKE '%lazy%'

使用2 LIKE可以解决您的问题。

答案 1 :(得分:0)

试试这个:

SELECT * FROM q_news WHERE MATCH(title) AGAINST ('quick lazy');