MySQL存储过程字符串参数报错:为什么传入字符串参数会报“Unknown column”错误?
mysql 存储过程字符串参数报错分析
问题:
在调用 mysql 存储过程时,传入字符串参数会出现“unknown column”错误。而传入整型参数时,存储过程运行正常。
存储过程代码:
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;
错误信息:
Procedure execution failed 1054 - Unknown column '王小李' in 'field list'
分析:
存储过程代码本身并没有问题。因此,问题可能出在调用存储过程时。常见的原因可能是:
- 调用代码中传入的参数类型不正确,导致实际传入的是字符串,而存储过程期望的是整型。
- 在存储过程调用之前,没有对传入参数进行类型转换,导致字符串参数直接被解释为列名,而不是作为比较值。
以上就是MySQL存储过程字符串参数报错:为什么传入字符串参数会报“Unknown column”错误?的详细内容,更多请关注其它相关文章!