-1

Undeclared variable: voteTypeイベントを作成するときに、select sql に 2 番目の列を追加すると、なぜ取得するのですか? SQL ステートメントで 2 番目の列を指定することはできませんか? これを行う正しい方法は何ですか?

BEGIN

DECLARE c VARCHAR(2);
DECLARE vElm INT(10);
DECLARE vType TINYINT(1);

select distinct(country) into c from votes;

select votedElm into vElm, voteType into vType from votes where country = c;

END
4

1 に答える 1

1

これINTOは、2 番目のケースの構文が変数配列を宛先として想定しているためです。変数のvElm, voteType配列として表示されますが、変数voteTypeとして宣言されていないため (実際には列の 1 つであるため)、例外が発生します。代わりにこの方法を試してください:

select <columns> into <variables> from ...

あなたの場合:

select votedElm, voteType into vElm, vType from votes where country = c;

のMySQL リファレンスにINTO例があります。

于 2013-05-09T11:44:25.627 に答える