您不能使用这样的
IN子句。它在您的子句中编译为 单个 字符串
IN。但是
IN子句需要 单独的 值。
WHERe id_campo not in (@idcamposexcluidos)
编译为
WHERe id_campo not in ('817,803,495')
但应该是
WHERe id_campo not in ('817','803','495')
为了克服这个问题,可以使用动态SQL或在MySQL中使用FIND_IN_SET:
SET @idcamposexcluidos='817,803,495';...WHERe FIND_IN_SET(id_campo, @idcamposexcluidos) = 0
但是使用像这样的函数
FIND_IN_SET()不能使用索引。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)