无法使用MATCH和AGAINST使用mysql查询进行全文搜索

时间:2016-02-16 11:12:32

标签: php mysql

希望有人可以帮助我。我正在尝试使用完整的搜索文本MATCH和AGAINST。

我收到此错误

  

1064 - 您的SQL语法出错;检查与您的MariaDB服务器版本对应的手册,以便在第1行''mytable' WHERE MATCH(user) AGAINST('alex') LIMIT 0, 25'附近使用正确的语法

我的示例查询是:

SELECT id, user FROM 'mytable' WHERE MATCH(user) AGAINST('alex') LIMIT 0, 25

2 个答案:

答案 0 :(得分:3)

你只能在表格或列名称周围使用反引号,除了反引号之外你不能使用任何东西。

SELECT id, user FROM `mytable` WHERE MATCH(user) AGAINST('alex') LIMIT 0, 25

需要反叛的地方?

如果您的表名或列名包含任何MYSQL保留字,则必须在名称周围使用反引号。

MYSQL Reserve Keywords and Words

答案 1 :(得分:2)

您无需引用mytable。 DOCS

SELECT id, user FROM mytable WHERE MATCH(user) AGAINST('alex') LIMIT 0, 25

对于提到的错误。

ALTER TABLE mytable ADD FULLTEXT index_name(user);

全文索引应包含完全相同的列数,其顺序与MATCH子句中提到的顺序相同。

Here了解更多信息。