无法使用变量

时间:2019-07-18 03:12:19

标签: mysql function select

编写MySQL函数,其中条件条件中和条件条件中使用变量allowed_product的地方都有SELECT Count(*)语句。

但是代码无法将变量值用作列名。

当我在查询的“ WHERE”部分中对列名进行硬编码时,它起作用。

SET allowed_product = REPLACE(allowed_product_name," ","_");
SELECT COUNT(*) FROM `v_indexing` WHERE allowed_product = temp_code INTO @existance;

我希望该计数为1,因为temp_code在索引编制中的计数为1,但它一直返回0。

尝试了以下操作,并给了我一个错误“存储的函数或触发器中不允许使用动态SQL”。

SET @query = CONCAT("select count(*) FROM `v_indexing` WHERE `", allowed_product,"` ='", temp_code,"' into @existance;");

PREPARE stmt FROM @query;
EXECUTE stmt;

如何在SELECT语句中使用变量值?请注意,硬编码是不可能的,因为值是动态的。

0 个答案:

没有答案