一个关于Mysql中out返回值一直为null的情况;求帮助(属于Mysql基础系列);

表的结构:

CREATE TABLE `my_book` (
  `Bid` int(11) NOT NULL,
  `Bname` varchar(24) DEFAULT NULL,
  `BLanguage` varchar(24) NOT NULL
)

插入数据的代码:

insert into my_book values(1,"时间简史","English")

我写的代码:

delimiter $
create procedure mybook_select(out bname varchar(24))
begin
select Bname into bname
from my_book
where `BLanguage`='English';
end $



call mybook_select(@bname) $
select @bname $ #这个运行之后一直显示null

把存储过程定义的参数名称bname改成b_name,不要让它跟列名Bname一样
或者把查询列名改成my_book.Bname