目标
通过单个VARCHAR()
参数传递多个值。
场景
在我的应用程序中有一个从某个表中获取产品的过程。我需要的很简单:id
如果我通过了,就取三个(或其他)结果。例如:
CALL getProducts('1, 2, 3');
。
为此,我正在使用IN
子句。看看我的查询:
BEGIN
Select product.Name
From app_products As product
Where product.Id In (1, 2, 3)
END
如何1, 2, 3
通过参数传递它们?
我已经尝试过的
看看我的查询及其参数:
CREATE PROCEDURE `getProductsPrices`(IN `ids` VARCHAR(255))
BEGIN
Select product.Name
From app_products As product
Where product.Id In (ids)
END
现在,当我调用它时:
CALL `getProductsPrices`('1, 2, 3')
回报是:
警告:截断不正确的 DOUBLE '1, 2, 3'
有人对我有什么建议吗?
重复?
我认为这个主题没有重复,因为我已经搜索过相同的主题但没有成功。