6

整数変数を宣言しようとしましたが、機能しません。これが私の質問です:

DECLARE @count INT
SET     @count = 5633

SELECT count(matchid) 
FROM   `matches`
WHERE   id = @count

このエラーが発生しました:

Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DECLARE @count INT
SET     @count = 5633

助けてください :)

4

4 に答える 4

5

MySQL マニュアルによると、DECLARE は BEGIN ... END ブロック内でのみ許可され、先頭にある必要があります。また、各行の末尾にあるセミコロンを忘れています。これはあなたのために働くはずです:

SET @count = 5633;

SELECT count(*) 
FROM matches
WHERE id = @count;

COUNT(*)場合によっては高速です。

于 2011-11-10T13:57:34.943 に答える
1
DECLARE @count INT;
SET     @count = 5633;

SELECT count(matchid) 
FROM   matches
WHERE   id = @count;

また、明らかに開始/終了ブロックが必要です。

于 2011-11-10T13:39:39.757 に答える
0

インラインでやってみたらどうですか

SELECT
      count(matchid) 
   FROM   
      `matches`,
      ( select @count := 5633 ) SQLVars
   WHERE   
      matches.id = @count

しかし、それ以外の場合はもっと直接的で、WHERE 句に直接入れるだけです。

于 2011-11-10T13:47:33.320 に答える
-1
DECLARE @count INT
SET     @count = 5633

SELECT count(matchid) 
FROM    matches  //<===  should be table name
WHERE   id = @count
于 2011-11-10T13:37:26.397 に答える