【发布时间】:2014-11-11 08:33:39
【问题描述】:
我在存储过程中使用了 mysql。在存储过程中,我使用 IN() 函数编写了选择查询。我在函数内部传递了 5 个值,但它只显示第一个值数据。我的代码是
DELIMITER $$ CREATE DEFINER=
root@localhostPROCEDUREpro1(INreg_idVARCHAR(50))开始
SELECT COUNT(master_country_id) AS num FROM master_country WHERE master_region_id IN(reg_id) ORDER BY master_country_id DESC;
结束$$
分隔符;
国家是,
1 - 印度
2 - 澳大利亚
3 - 加拿大
4 - 西班牙
5 - 斯里兰卡
我调用的程序是
调用 pro1(1,4,2);
实际结果是,
印度、西班牙、澳大利亚
但它显示的结果是,
印度
【问题讨论】:
-
有多少个参数?一,你的结果有多少?一。仅仅因为 varchar(50) 字符串看起来像 3 个值,它只是一个包含逗号的值。
-
看看这个答案对你是否有意义stackoverflow.com/questions/25839148/…