You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用带参存储过程showuser无结果/返回空表问题求助

存储过程调用返回空表的排查与解决

问题根源

你的存储过程参数名Id与users表的id字段同名,在where id < Id条件中,MySQL会将两边的标识符都解析为表字段id,等价于执行id < id——这个条件永远不成立,因此必然返回空表。

修正方案

修改参数名,避免与表字段名冲突,比如将参数命名为p_id和p_name,修正后的存储过程代码如下:

DELIMITER $$

CREATE PROCEDURE showuser(in p_id int, in p_name varchar(20))
begin
select * from users where id < p_id and name = p_name;
end$$

DELIMITER ;

额外验证建议

调用存储过程时,确保传入的p_id值大于表中存在的id数值,同时p_name在users表中有匹配的记录,这样才能得到预期的查询结果。

内容的提问来源于stack exchange,提问作者Khushi Prajapati

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 08:23:15