El problema es que no puedes mezclar select y set en una declaración, seguramente habrá un error de sintaxis:
select*from t where 1 and example@sqldat.com=1;
Si quieres hacer set dentro de select , use los dos puntos son iguales
sintaxis. Cambia esto:
select*from t where 1 and example@sqldat.com=1;
en:
select*,@a:=1 from t where 1;
Así es como se actualiza la variable sobre cada fila:
create table t(id int); insert t values(1),(2),(3);
example@sqldat.com=0;
example@sqldat.com:=id from t;
E incluso puedes hacer concat :
example@sqldat.com='0';
select @a:=concat(@a,',',id)from t;
O concat sin el 0 inicial :
example@sqldat.com='';
select @a:=concat(@a,if(@a='','',','),id)from t;
Sin embargo, el manual explícitamente establece que esto es peligroso:
Esto también se ha mencionado en Xaprb .
Por último, si estás haciendo peculiar cosas como asignar diferentes tipos de valores a la variable y etc., checkout el manual para asegurarse de que comprende los intrincados mecanismos.