O problema é que você não pode misturar
select e set em uma declaração, certamente haverá erro de sintaxe:select*from t where 1 and example@sqldat.com=1;
Se você quiser fazer
set dentro de select , use os dois pontos são iguais
sintaxe. Mude isso:select*from t where 1 and example@sqldat.com=1;
para dentro:
select*,@a:=1 from t where 1;
Veja como você atualiza a variável em cada fileira:
create table t(id int); insert t values(1),(2),(3);
example@sqldat.com=0;
example@sqldat.com:=id from t;
E você pode até fazer
concat :example@sqldat.com='0';
select @a:=concat(@a,',',id)from t;
Ou
concat sem o 0 inicial :example@sqldat.com='';
select @a:=concat(@a,if(@a='','',','),id)from t;
No entanto, o manual explicitamente afirma que isso é perigoso:
Isso também foi mencionado no Xaprb .
Por último, se você estiver fazendo peculiar coisas como atribuir diferentes tipos de valor à variável e etc, checkout o manual para ter certeza de que você entende os intrincados mecanismos.