sql >> Databáze >  >> RDS >> Mysql

Lokální proměnné MySQL

MySQL má dva různé typy proměnných:

  • místní proměnné (které nejsou s předponou @ ) jsou silně typovány a omezeny na uložený programový blok, ve kterém jsou deklarovány. Všimněte si, že jak je zdokumentováno v části DECLARE Syntaxe :

  • uživatelské proměnné (které jsou s předponou @ ) jsou volně napsány a rozsahem k relaci. Všimněte si, že nepotřebují ani nemohou být deklarovány – stačí je použít přímo.

Pokud tedy definujete uložený program a skutečně chcete „místní proměnnou“, podle formulace ve vaší otázce, budete muset vypustit @ znak a ujistěte se, že váš DECLARE příkaz je na začátku vašeho programového bloku. V opačném případě, chcete-li použít "uživatelskou proměnnou", zrušte DECLARE prohlášení.

Kromě toho budete muset svůj dotaz umístit do závorek, abyste jej mohli provést jako dílčí dotaz:

SET @countTotal = (SELECT COUNT(*) FROM nGrams);

Nebo můžete použít SELECT ... INTO :

SELECT COUNT(*) INTO @countTotal FROM nGrams;


  1. Hodnocení hráčů podle kategorií v průběhu měsíců

  2. Je možné mít sloupec MySQL obsahující více hodnot jako cizí klíče?

  3. Jak se připojit z příkazového řádku systému Windows k příkazovému řádku mysql

  4. Jak přesměrovat stdout z kontejneru dockeru na hostitele