MySQL存储过程参数报错“Unknown column in 'field list'”是什么原因?
mysql 存储过程参数报错:''unknown column in 'field list''
问题:
执行 mysql 存储过程时,遇到错误提示 ''unknown column in 'field list''。存储过程如下:
create procedure mypo02(in DataName varchar(10))begin if DataName is null or DataName = "" then select * from ssd; else select * from ssd where ename like concat('%',DataName,'%'); end if;end;
当将参数 dataname 设为整数时,可以正常运行,但设为字符串时则报错。
解答:
存储过程的定义本身没有问题。出现这种错误,通常是因为调用存储过程时,传入的参数类型与存储过程定义的类型不符。
请检查调用的代码,确保传入的 dataname 参数类型与存储过程定义的 varchar(10) 类型一致。如果没有发现问题,请提供更详细的调用代码和报错信息,以便进一步排查。