Mysql SQL不返回任何结果

Mysql SQL不返回任何结果,mysql,contains,Mysql,Contains,我正在尝试升级我网站上的搜索 我偶然发现了一些东西 我已将要搜索的列设置为全文 我错过了什么 title = Test is what i'm doing SELECT * FROM test WHERE title LIKE "%Test%" 很好 SELECT * FROM test WHERE CONTAINS('*', "'Test*'") 不返回任何内容 我试过了 SELECT * FROM test WHERE CONTAINS(title, "Test") 还有我能想到的一

我正在尝试升级我网站上的搜索

我偶然发现了一些东西

我已将要搜索的列设置为全文

我错过了什么

title = Test is what i'm doing

SELECT * FROM test WHERE title LIKE "%Test%"
很好

SELECT * FROM test WHERE CONTAINS('*', "'Test*'")
不返回任何内容

我试过了

SELECT * FROM test WHERE CONTAINS(title, "Test")
还有我能想到的一切

包含的所有内容都不返回任何内容

这是我的桌子结构

Action  Keyname Type    Unique  Packed  Column  Cardinality Collation   Null    Comment
 Edit    Drop   PRIMARY BTREE   Yes No  ID  15642   A           
 Edit    Drop   title   FULLTEXT    No  No  title   1       YES 
我错过了什么


我使用的是MySQL 5.5

仅当您有全文索引列时才包含工作。据推测,这是不到位的

按照中的文档进行操作,以帮助设置一个

  • 必须对
    标题
    列编制索引,才能使
    包含
    起作用。
    标题
    列是否已编制索引

  • 根据,使用带有contains关键字的通配符存在限制

  • 根据您的DB实现,双引号可能会导致意外结果。为了安全起见,请将此更改为单个报价。(上的一些示例使用双引号和单引号,但外部引号是单引号(与您的示例不同)

  • 您确定数据库中有具有指定字符串“Test”的记录吗

  • 根据上的一个答复,SQL Express中没有
    CONTAINS
    运算符。您没有提到正在使用的数据库,因此这可能适用,也可能不适用


  • 由于功能不同,如果您确定使用的是什么DBMS,这会有所帮助。MySQL SQL Server Oracle DB2等。您的问题类似于问“我怎么说“浴室在哪里?”而不指定您需要用什么语言说——如果我用英语告诉您,您在法国,没有人理解您,您就有麻烦了。:-)我想我已经将其设置为全文。我现在正在查看此文档,对此有点困惑。也许我应该创建一个虚拟表,看看我能做些什么。我犹豫是否要对某些内容进行重大更改并将其弄糟。此答案应该延迟到提供DBMS之后。SQL Server特定的答案仅适用于问题r与SQL Server相关。什么是索引?我正在使用webmin创建全文索引。我正在单击,在1列上创建索引。然后将字段设置为全文,所以我假设这是一个“索引”?