我试图在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 '*'
1条答案
按热度按时间nr9pn0ug1#
AGAINST('*' ...)
无效。全文本希望看到单词,而不是单独的通配符。如果这是来自数据输入,并且用户要求“查看所有内容”,那么为其构造一个不同的查询。可能看起来是一样的,但不考虑
MATCH
线路。