-1

创建事件时,为什么我Undeclared variable: voteType在选择 sql 中添加第二列时会得到?不能在sql语句中指定第二列吗?这样做的正确方法是什么?

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第二种情况的语法期望一个变量数组作为目标。它被vElm, voteType视为变量数组,但由于voteType尚未声明为一个(因为它确实是您的列之一),您会遇到异常。试试这种方式:

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

在你的情况下:

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

MySQL 参考中INTO有一些示例。

于 2013-05-09T11:44:25.627 回答