我正在尝试调试此问题。我已经走到了极端的极端,我只想弄清楚为什么即使将return var显式设置为某个值,MySQL也会返回null。
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `foo`(
OUT numberExpectedToFill int(11))
DETERMINISTIC
BEGIN
set numberExpectedToFill := 23;
commit;
END
所以,我编写了一个脚本来调用它,返回值为NULL。为什么呢?
prepare s from 'call `test_schema`.`foo`(@output)';
execute s;
select @output
答案 0 :(得分:0)
这是最意想不到的......因为无论是否使用预准备语句,这都适用于sqlfiddle:http://sqlfiddle.com/#!2/d4ddf/1,http://sqlfiddle.com/#!2/d4ddf/2
可能是权限有问题(可能会发出错误信号,想到)?!?
编辑:仍然猜测 - 您确定从正确的架构中调用foo
吗? O_O