使用单引号搜索MySql FullText索引

时间:2014-11-16 09:19:23

标签: php mysql mysqli prepared-statement

我正在尝试针对FullText索引搜索带有单引号的字符串:

select * 
from gems 
where MATCH (gems.title, gems.descr) AGAINST ('"winter\'s discontent"' IN BOOLEAN MODE)

this post中的答案表明它应该有用,但事实并非如此。当我将这个例子从MyIsam改为InnoDB时,它已经不再适用了。即使在MyIsam中,上面的查询也会返回“冬天”的匹配

有什么想法吗?

我正在使用mySql 5.6.11 InnoDB

可以找到一个sqlFiddle here,它也不起作用。它包含以下内容:

CREATE TABLE gems 
    (
     id int auto_increment primary key, 
     title varchar(20), 
     descr varchar(100),
     FULLTEXT KEY `ft_title_descr` (`title`,`descr`)      
    );


INSERT INTO gems
(title, descr)
VALUES
('Post 1', 'Once upon a time'),
('Post 2', 'My winter\'s discontent');

1 个答案:

答案 0 :(得分:0)

还有一些谷歌搜索 - 似乎这是一个报告的MySQL错误。我将mySQL版本升级到5.6.20,这解决了这个问题。