错误代码:1064语法错误,意外的$end,应为fts\u term或fts\u numb或'*'mysql

lqfhib0f  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(349)

我试图在innodb表上运行下面的查询,结果出错。
查询:

SELECT `Job`.`id`, `Job`.`job_description`, `Job`.`job_title`,
       `Company`.`name`, `Company`.`url`
FROM `jobs` AS `Job` 
    LEFT JOIN `companies` AS `Company` ON (`Company`.`id` = `Job`.`company_id` 
        AND `Job`.`company_id` = `Company`.`id`) 
WHERE `Job`.`status` = 1 
AND `Company`.`status` = 1
AND ( MATCH(`Job`.`job_title`) AGAINST ('*' IN NATURAL LANGUAGE MODE) )
ORDER BY `Job`.`id` ASC LIMIT 20

错误:

Error Code: 1064
syntax error, unexpected $end, expecting FTS_TERM or FTS_NUMB or '*'
nr9pn0ug

nr9pn0ug1#

AGAINST('*' ...) 无效。全文本希望看到单词,而不是单独的通配符。
如果这是来自数据输入,并且用户要求“查看所有内容”,那么为其构造一个不同的查询。可能看起来是一样的,但不考虑 MATCH 线路。

相关问题