mysql全文搜索:MATCH没有AGAINST?

时间:2011-09-19 12:16:06

标签: mysql full-text-search

我正在尝试调试一些我从另一个团队继承的代码,我无法访问这些代码。

代码生成以下查询:

SELECT blah FROM missing_table 
WHERE ... 
AND MATCH ('@identity PROFILE @security 0|10000060') 
GROUP BY document_id ORDER BY posted DESC LIMIT 0, 5

请注意缺少“反对”条款。

此查询产生以下错误:

  

错误1064(42000):您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在“@identity PROFILE @security 0 | 10000060”附近使用正确的语法。

这里有几件奇怪的事情:

1)当我做“desc”或“show tables”时,表(我在这里将名称更改为“missing_table”以保护无辜者)不会出现。

2)查询中没有“AGAINST”子句。

任何有关此处可能发生的事情的线索都将非常感谢!

1 个答案:

答案 0 :(得分:1)

你只是说过线索,所以如果我至少找不到表格定义,如果不是数据那么我会怎么做有点不清楚。但这是我用来搜索三列的工作查询的示例;维护中的MM,地址1和城市 (我认为你必须用逗号分隔所有东西,但看到越来越多的初学者逃脱谋杀并使用mysql语句。

$sql = "SELECT * FROM `maintable` where `type` = '" .  $ptyp . "'  AND MATCH(MM, address1, city) AGAINST('" . $one . "*' IN BOOLEAN MODE)  LIMIT " . $pagelimit. ", 20";