mysql创建存储过程和游标的常见错误
错误
00:42:02 call blili.cursor_pro() Error Code: 1366. Incorrect string value: ‘\xE9\x99\x88\xE5\xBB\xBA…’ for column ‘temp’ at row 1 0.015 sec。## 代码
CREATE DEFINER=root
@localhost
PROCEDURE cursor_pro
()
begin
declare temp char(20)CHARSET utf8;//解决方法:有些mysql不加这个(CHARSET utf8)它不支持中文的
declare temp1 char(20);//创建两个变量
declare done int default false;
declare s_cur Cursor for select sname,sno from student; //S_cur接受来自student 的sname,sno;
declare continue handler for not found set done=true;
create table res(sno int ,sname char(10) charset utf8);//创建一个表接受来自游标的数据。
open s_cur;
read_loop:loop
fetch s_cur into temp,temp1;//通过临时变量与s_cur一一赋值。
if done then
leave read_loop;
end if;
insert into res(sno,sname) values(temp1,temp);
end loop;
close s_cur;
end