gpt4 book ai didi

"NOT IN"值列表的 MySQL 变量格式

转载 作者:IT老高 更新时间:2023-10-28 12:53:47 26 4
gpt4 key购买 nike

疯狂地尝试在类型查询中设置变量:

SET @idcamposexcluidos='817,803,495';

这样我就可以用它了

WHERE id_campo not in (@idcamposexcluidos)

我尝试以不同的格式定义变量,但没有成功,似乎没有找到上述的具体示例:

SET @idcamposexcluidos='(817,803,495)';
...
WHERE id_campo not in @idcamposexcluidos


SET @idcamposexcluidos=817,803,495;

没有成功。它要么返回错误,要么忽略值。

最佳答案

你不能像那样使用 IN 子句。它在您的 IN 子句中编译为 single 字符串。但是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() 之类的函数不能使用索引。

关于 "NOT IN"值列表的 MySQL 变量格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11957643/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com