mysql错误: [Err] 1328 - Incorrect number of FETCH variables

在写存储过程时使用游标出错

create procedure p2()
begin
    declare id int;
    declare iname varchar(15);
    declare flag int default 0;
    -- 声明游标
    declare mc cursor for select * from account;
    declare continue handler for not found set flag = 1;
    -- 打开游标
    open mc;
    -- 获取结果
    l:loop  -- 循环,将表的内容都转移到class2中
    fetch mc into id,iname;
    if flag=1 THEN
       leave l;
    end if;
    -- 这里是为了显示获取结果
    insert into account2 values(id,iname);
    -- 关闭游标
    end loop;
    close mc;
end;

原因:
游标select的字段数需要与fetch into的变量数一致


版权声明:本文为shmily_syw原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。