Der er flere måder at gøre dette på.
Du kan bruge en underforespørgsel:
SET @some_var = (SELECT COUNT(*) FROM mytable);
(som din original, skal du blot tilføje parenteser omkring forespørgslen)
eller brug SELECT INTO-syntaksen til at tildele flere værdier:
SELECT COUNT(*), MAX(col)
INTO @some_var, @some_other_var
FROM tab;
Underforespørgselssyntaksen er lidt hurtigere (jeg ved ikke hvorfor), men fungerer kun til at tildele en enkelt værdi. Vælg i syntaks giver dig mulighed for at indstille flere værdier på én gang, så hvis du har brug for at hente flere værdier fra forespørgslen, bør du gøre det i stedet for at udføre forespørgslen igen og igen for hver variabel.
Endelig, hvis din forespørgsel ikke returnerer en enkelt række, men et resultatsæt, kan du bruge en markør .