Mysql, хранящий переменную с результатом ВЫБОРА СЛУЧАЯ

#mysql #variables #select #case #store

#mysql #переменные #выберите #случай #Магазин

Вопрос:

я изучаю, как использовать РЕГИСТР ВЫБОРА, но я не очень хорошо понимаю, вот код:

 SET @vgls=1;
SET @lgls=1;


SET @st=SELECT CASE 
WHEN @vgls=@lgls THEN "emp"
WHEN @vgls>@lgls THEN "loc"
WHEN @vgls<@lgls THEN "vis" END;

SELECT @st;
 

Это дает мне следующую ошибку:

 [Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to you  MySQL server version for the right syntax to use near 'SELECT CASE 
WHEN @vgls=@lgls THEN "emp"
WHEN @vgls>@lgls THEN "loc"
WHEN @vg' at line 1
 

Ответ №1:

Вам нужно использовать SELECT ... INTO

 SELECT
...
INTO var_name [, var_name]]
 

вместо set того, чтобы присваивать результат ВЫБОРА переменной. Итак, это должно сделать это:

 SELECT CASE 
WHEN @vgls=@lgls THEN "emp"
WHEN @vgls>@lgls THEN "loc"
WHEN @vgls<@lgls THEN "vis" END
INTO @st;