mysql匹配通配符

时间:2012-04-09 16:06:10

标签: mysql sql full-text-search

我有一个搜索工具但希望能够允许搜索任何内容,而只是简单地列出项目类别。非常标准的东西。

因此,当用户不输入任何搜索字词并只选择一个类别时,我希望我的搜索能够找到所有内容,例如: “cat_id = 1”。

我正在尝试以下方法,我尝试了一些不同的方法,但没有快乐,如果我可以帮助它,我真的不想为不同的语言编写不同的查询。

我正在搜索的表在名为“title”的列上有一个全文索引,我正在尝试:

select col_name from tablename where (MATCH(title) AGAINST ('*' IN BOOLEAN MODE))

但是根本没有结果,这个通配符是否允许?

1 个答案:

答案 0 :(得分:1)

使用*不会有帮助。请参阅MySQLs站点的用法:

MATCH()采用逗号分隔的列表来命名要搜索的列。 AGAINST需要一个字符串来搜索,一个可选的修饰符指示要执行的搜索类型。搜索字符串必须是文字字符串,而不是变量或列名。

如果用户没有输入任何搜索字词,您是否应该省略该特定的WHERE条件?

相关问题