Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zmienne lokalne MySQL

MySQL ma dwa różne typy zmiennych:

  • zmienne lokalne (które nie są) poprzedzone @ ) są silnie wpisane i ograniczone do bloku programu przechowywanego, w którym są zadeklarowane. Zauważ, że zgodnie z dokumentacją w DECLARE Składnia :

  • zmienne użytkownika (które poprzedzone @ ) są luźno wpisane i ograniczone do sesji. Pamiętaj, że nie trzeba ich ani nie można zadeklarować — po prostu użyj ich bezpośrednio.

Dlatego, jeśli definiujesz program przechowywany i rzeczywiście chcesz „zmienną lokalną”, zgodnie ze sformułowaniem w twoim pytaniu, będziesz musiał usunąć @ znak i upewnij się, że Twój DECLARE instrukcja znajduje się na początku bloku programu. W przeciwnym razie, aby użyć „zmiennej użytkownika”, upuść DECLARE oświadczenie.

Co więcej, będziesz musiał umieścić zapytanie w nawiasach, aby wykonać je jako podzapytanie:

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

Albo możesz użyć SELECT ... INTO :

SELECT COUNT(*) INTO @countTotal FROM nGrams;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Polecenie SQL RENAME TABLE

  2. Znajdź liczbę kolumn w tabeli

  3. Czy istnieje odpowiednik @@error serwera SQL w MySQL?

  4. Błąd przekroczenia limitu czasu bramy 504 podczas wybierania 300 000 wierszy z bazy danych MySQL

  5. PHP i mySQL:Prosty kod do implementacji transakcji - Commit &Rollback