Страницы

Поиск по вопросам

четверг, 19 марта 2020 г.

Что значит символ @ в MySQL

#mysql


Пример вот тут

он же вот

select iid, uid from (select a.iid, a.uid,
   @cnt := case when @iid = a.iid then @cnt+1 else 1 end cnt,
   @iid := a.iid iid1 
from (select iid, uid 
   from interest where iid in (3, 4, 10) order by iid) a,
  (select @cnt := 0, @iid := NULL) b) c
where cnt < 8;


обьясните мне что значит знак @

@cnt


вижу несколько вложенных запросов, так вот эти переменные с знаком @cnt относятся
как то к переменным без знака
    


Ответы

Ответ 1



Символом @ обозначаются локальные переменные в запросе. То есть мы говорим что это переменная, и уже дальше мы используем её значение.

Ответ 2



И еще, локальные переменные объявляются с DECLARE(в процедурах) и обязательно задается тип переменной (VARCHAR,INT,etc),а @ обозначается глобальная переменная, то есть между процедурами можно использовать эти переменные,и плюс к этому у них конкретно не указывается тип данных,как и в пхп.

Комментариев нет:

Отправить комментарий