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

phpMyAdmin中SQL存储过程参数查询无结果问题求助

问题排查与解决

核心问题出在字符串拼接的语法错误:

MySQL中+是算术运算符,并非字符串拼接符。当你执行'%'+@MainGenre+'%'时,MySQL会尝试将字符串转换为数值进行计算——比如@MainGenre的值是'Drama',转换后数值为0,最终表达式变成'%0%',自然匹配不到包含'Drama'的记录。

修正后的存储过程代码

将字符串拼接改为MySQL支持的CONCAT()函数:

SELECT Title,Genre,HoursViewed
FROM Netflix2023
WHERE Genre LIKE CONCAT('%', @MainGenre, '%')
ORDER BY HoursViewed DESC;

如果你的存储过程是通过参数接收MainGenre(而非会话变量@MainGenre),确保直接使用参数名,示例存储过程定义如下:

CREATE PROCEDURE GetNetflixDramaContent(IN MainGenre VARCHAR(100))
BEGIN
    SELECT Title,Genre,HoursViewed
    FROM Netflix2023
    WHERE Genre LIKE CONCAT('%', MainGenre, '%')
    ORDER BY HoursViewed DESC;
END;

调用时传入'Drama'参数即可正常返回结果。

内容的提问来源于stack exchange,提问作者CJ Conti

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 03:40:55