问题描述:
在执行 mysql 存储过程时遇到错误,提示未知字段。
问题细节:
存储过程定义如下:
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 参数时,会出现以下错误:
Procedure execution failed 1054 - Unknown column '王小李' in 'field list'
但是,当 dataname 参数改成整数类型时,则运行正常。
解决方案:
可能是调用存储过程时,相关操作的类型不正确。请检查调用处的代码,确保传入 dataname 参数的类型与存储过程定义中的一致。