U kunt de IN
. niet gebruiken zo'n clausule. Het compileert tot een single tekenreeks in uw IN
clausule. Maar een IN
clausule moet afzonderlijk waarden.
WHERE id_campo not in (@idcamposexcluidos)
compileert naar
WHERE id_campo not in ('817,803,495')
maar het zou moeten zijn
WHERE id_campo not in ('817','803','495')
Om dit te verhelpen, gebruikt u ofwel dynamische SQL of in MySQL kunt u FIND_IN_SET :
SET @idcamposexcluidos='817,803,495';
...
WHERE FIND_IN_SET(id_campo, @idcamposexcluidos) = 0
maar met een functie zoals FIND_IN_SET()
kan geen gebruik maken van indexen.