sql >> Database teknologi >  >> RDS >> Mysql

Indstil variabelresultatet fra forespørgsel

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 .



  1. Forbindelsestimeout for SQL-server

  2. Forskellen mellem mysqli og mysql?

  3. Sådan får du vist aktuelle forbindelser i MySQL Workbench ved hjælp af GUI

  4. SELECT max(x) returnerer null; hvordan får jeg det til at returnere 0?