我一直试图声明一个整数变量,但它只是不起作用。这是我的疑问:
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
请帮助:)
答案 0 :(得分:2)
根据MySQL manual,DECLARE只允许在BEGIN ... END块内,并且必须在开头。你也忘记了每一行末尾的分号。这应该适合你:
SET @count = 5633;
SELECT count(*)
FROM matches
WHERE id = @count;
COUNT(*)
在某些情况下会更快。
答案 1 :(得分:1)
DECLARE @count INT;
SET @count = 5633;
SELECT count(matchid)
FROM matches
WHERE id = @count;
此外,您显然是need一个开始/结束块。
答案 2 :(得分:0)
如何在线完成
SELECT
count(matchid)
FROM
`matches`,
( select @count := 5633 ) SQLVars
WHERE
matches.id = @count
但更直接的是,只需将它直接放在WHERE子句中。
答案 3 :(得分:-1)
DECLARE @count INT
SET @count = 5633
SELECT count(matchid)
FROM matches //<=== should be table name
WHERE id = @count