1
(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')

最初のバージョンの何が問題になっていますか? 最初のように動作する必要があります。

4

1 に答える 1

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') 
于 2013-07-08T02:19:58.327 に答える