Nemůžete použít IN
taková klauzule. Zkompiluje se do jednoho řetězec ve vašem IN
doložka. Ale IN
doložka potřebuje samostatné hodnoty.
WHERE id_campo not in (@idcamposexcluidos)
zkompiluje do
WHERE id_campo not in ('817,803,495')
ale mělo by to být
WHERE id_campo not in ('817','803','495')
Chcete-li to překonat, použijte dynamické SQL nebo v MySQL můžete použít FIND_IN_SET :
SET @idcamposexcluidos='817,803,495';
...
WHERE FIND_IN_SET(id_campo, @idcamposexcluidos) = 0
ale pomocí funkce jako FIND_IN_SET()
nemůže používat indexy.