这个mysql全文查询有什么问题?

时间:2013-07-08 02:18:04

标签: mysql subquery full-text-search

(SELECT COUNT(  `ad_general`.`id` ) as no
FROM (`ad_general`)
WHERE MATCH (title, body) AGAINST (' +stack* 'IN BOOLEAN MODE) AND `user` =  '1') 
) AS count 

此查询给出了此错误:

  

1064 - 您的SQL语法出错;检查与MySQL服务器版本对应的手册,以获得正确的语法

     

第17行附近的“AS计数”

但是这个按照我的预期工作。

SELECT COUNT(  `ad_general`.`id` ) as count
    FROM (`ad_general`)
    WHERE MATCH (title, body) AGAINST (' +stack* 'IN BOOLEAN MODE) AND `user` =  '1')

第一个版本出了什么问题?我需要它像第一个一样工作。

1 个答案:

答案 0 :(得分:2)

您不能像这样命名查询。您可以通过将select置于前面来解决此问题:

select (SELECT COUNT(  `ad_general`.`id` ) as no
        FROM (`ad_general`)
        WHERE MATCH (title, body) AGAINST (' +stack* 'IN BOOLEAN MODE) AND `user` =  '1') 
       ) AS count 

或者你可以这样做:

SELECT COUNT(  `ad_general`.`id` ) as `count`
FROM (`ad_general`)
WHERE MATCH (title, body) AGAINST (' +stack* 'IN BOOLEAN MODE) AND `user` =  '1')