运行此查询时为什么会出错?
SELECT
`site_members`.`username`,
`site_members`.`email`,
`site_members`.`ID`,
`site_members`.`firstName`,
`site_members`.`lastName`,
`site_members`.`avatar`,
`site_members`.`avatar_status`,
`site_members_privacy`.`searchable_profile`,
CONCAT(firstName , ' ', lastName ) AS `concat_name`,
`site_members_privacy`.*
FROM `site_members`
LEFT JOIN
`site_members_privacy`
ON site_members.ID = site_members_privacy.memberID
WHERE (email LIKE '%test%' OR CONCAT(firstName , ' ', lastName ) LIKE '%test%')
OR (MATCH(concat_name) AGAINST('test' IN BOOLEAN MODE))
ORDER BY `firstName` ASC, `lastName` ASC, `username` ASC LIMIT 30
答案 0 :(得分:0)
尝试更改
MATCH(concat_name)
到
MATCH(CONCAT(firstName , ' ', lastName))
这是一种猜测,但我认为你必须这样做。
答案 1 :(得分:0)
这不是MATCH()
的工作方式 - 您需要为其提供以逗号分隔的字段列表进行搜索。据推测,这些将是您用于FULLTEXT
索引的字段。