我的 MySQL 存储过程有问题。我想检查过程中的插入查询是否执行并返回,即基于行影响的字符串 true 或 false。到 OUT 参数。我的代码如下
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_set_roles`(in p_rolename varchar(20),
in p_description varchar(25),out strresult varchar(20))
BEGIN
insert into tbl1(rolename,roledesc)
values(p_rolename,p_description);
SET @strresult="True";<br>
END
我尝试过,但在字符串 @strresult=null
中得到了 Null
值。
请帮忙解决。
最佳答案
我认为问题是您没有正确引用 strresults
OUT 参数。相反,您要创建一个同名的临时变量并为其分配一个值。
尝试更改为:
SET strresult="True";
关于mysql - 使用 IN OUT 参数调用 mysql 中的存储过程,返回插入结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40680817/