用于IN子句的MySQL变量

时间:2012-02-08 23:07:04

标签: mysql sql database

我需要在WHERE IN(@variable)子句中使用变量,因为我将多个动态值传递给我的存储过程变量。我之前通过创建一个将分割参数的函数看到了MS SQL的完成,但我不确定是否可以在MySQL上实现。

无论如何我可以让这个工作,因为我真的没有其他选择吗?

由于

3 个答案:

答案 0 :(得分:4)

也许FIND_IN_SET可以帮到你。

答案 1 :(得分:1)

如何将您感兴趣的值放入临时表中,然后将临时表与主表连接或在子选择语句中使用它?

或者使用实际的表,其中包含run-id的列和值的另一列,并使用连接中的run-id,以便可以对sql或存储过程进行并行调用。

答案 2 :(得分:0)

我参加聚会可能为时已晚,但保留它,因为这也很有用。

SET @data ='12323,12323,84949,2323223';
SET @query = CONCAT("select * FROM table where column in (",@data,")");
PREPARE stmt1 FROM @query;
EXECUTE stmt1;