Sql 是否使用单报价搜索词匹配?

Sql 是否使用单报价搜索词匹配?,sql,mariadb,Sql,Mariadb,我试图找到一个工作查询,以便在搜索词包含单个引号时使用MATCH-on 数据库表中的示例数据: I'm a freak 搜索词示例: I'm 我尝试过的搜索查询: SELECT * FROM table WHERE MATCH (name) AGAINST ('"I\'m"' IN NATURAL LANGUAGE MODE); SELECT * FROM table WHERE MATCH (name) AGAINST ('"I\'m"' IN BOOLEAN MODE); SELECT

我试图找到一个工作查询,以便在搜索词包含单个引号时使用MATCH-on

数据库表中的示例数据:

I'm a freak
搜索词示例:

I'm
我尝试过的搜索查询:

SELECT * FROM table WHERE MATCH (name) AGAINST ('"I\'m"' IN NATURAL LANGUAGE MODE);
SELECT * FROM table WHERE MATCH (name) AGAINST ('"I\'m"' IN BOOLEAN MODE);
SELECT * FROM table WHERE MATCH (name) AGAINST ('I\'m*' IN BOOLEAN MODE);
SELECT * FROM table WHERE MATCH (name) AGAINST ('(I\'m)*' IN BOOLEAN MODE);
…还有更多。什么都没用

我用的是10.1.33

有什么想法吗?

  • 我很确定缩略语不被视为词语
  • 相反,撇号被视为单词分隔符,表示“I”和“m”
  • 但是您可能没有
    innodb\u ft\u min\u token\u size=1
    ,因此这两个“单词”被忽略

金融时报存在局限性;您遇到了其中一个。

请尝试使用双撇号
I'M
。你确定这是一个真正的撇号,而不是那些具有不同字符代码的花哨卷发吗?@Jacob H:是的,这是一个真正的撇号。;)谢谢你的建议,但是双撇号也不行(它是InnoDB还是MyISAM表?@stickybit InnoDB