1

我正在尝试使用 a但它返回的行在任何'd 列MATCH AGAINST IN BOOLEAN MODE中都没有出现任何“Nathan” 。MATCH()这是我当前的查询格式:

SELECT `some_rows` 
LEFT JOIN `t1` ON `stuff`
LEFT JOIN `t2` ON `stuff`
LEFT JOIN `t3` ON `stuff`
WHERE MATCH(`some_rows`) AGAINST("Nathan" IN BOOLEAN MODE)

所有三个表都使用MyISAMDYNAMIC格式,并且表和行的所有排序规则都是相同的。

有人可以阐明这个问题吗?

4

1 回答 1

0

我实际上在这里找到了我的问题的答案。我的问题(大概)是我试图MATCH()从多个表中获取列,这显然是不允许的。我更正了我的查询,如下所示:

SELECT `some_rows` 
LEFT JOIN `t1` ON `stuff`
LEFT JOIN `t2` ON `stuff`
LEFT JOIN `t3` ON `stuff`
WHERE 
MATCH(`t1`.`some_rows`) AGAINST("Nathan" IN BOOLEAN MODE)
OR MATCH(`t2`.`some_rows`) AGAINST("Nathan" IN BOOLEAN MODE)
OR MATCH(`t3`.`some_rows`) AGAINST("Nathan" IN BOOLEAN MODE)

我希望这对某人有所帮助。

于 2013-02-21T19:42:42.547 回答