mysql存储过程不支持将变量作为查询字段使用吗?

发布于 2022-09-04 03:10:00 字数 213 浏览 22 评论 0

定义了一个存储过程:

BEGIN
DECLARE pName CHAR(20) ;
SET pName = 'schoolid';

SELECT COUNT(*) FROM `t_user_msg` WHERE  pName = 5;
END

执行之后结果总是0,难道mysql存储过程不支持将变量作为字段名称使用吗?
求解答,非常感谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

天赋异禀 2022-09-11 03:10:00

据我所知,这个要用动态SQL解决。

BEGIN
DECLARE pName CHAR(20) ;
SET pName = 'schoolid';

EXEC('SELECT COUNT(*) FROM t_user_msg WHERE' +  pName + ' = 5');
END

以上为SQLServer语法,参照的也是SQLServer知识。 另本人新手,仅供参考 -。-

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文