0

我正在尝试调试此问题。我已经走到了极端,我只是想弄清楚为什么即使 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
4

1 回答 1

0

这是最出乎意料的......因为无论是否使用准备好的语句,这都适用于 sqlfiddle:http ://sqlfiddle.com/#!2/d4ddf/1 ,http ://sqlfiddle.com/#!2/d4ddf /2

也许权限有问题(可能会表示错误,想)?!?

编辑:还在猜测——你确定foo从正确的模式中调用吗?o_o

于 2013-08-07T19:33:23.273 回答