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で機能するためです。 /2

パーミッションに問題があるのか​​もしれません (おそらくエラーのシグナルになると思います)?!?

編集: まだ推測foo中です --正しいスキーマから呼び出しますか? O_o

于 2013-08-07T19:33:23.273 に答える