我试图在我的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 '*'
感谢您的帮助。 预先感谢。
答案 0 :(得分:1)
AGAINST('*' ...)
无效。全文希望看到单词,而不是孤立的通配符。
如果这来自数据输入,并且用户要求“查看所有内容”,则为此构造一个不同查询。看起来可能一样,但省略了MATCH
行。