0

このクエリを実行するとエラーが発生するのはなぜですか?

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
4

2 に答える 2

0

変更してみる

MATCH(concat_name)

MATCH(CONCAT(firstName , ' ', lastName))

これは一種の推測ですが、そのようにする必要があると思います。

于 2013-02-24T23:40:07.860 に答える
0

これは機能しませんMATCH()。検索するフィールドのコンマ区切りリストを提供する必要があります。おそらく、これらはFULLTEXTインデックスに使用したフィールドです。

于 2013-02-25T01:36:19.350 に答える