問題:
在調用 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'
分析:
存儲過程代碼本身并沒有問題。因此,問題可能出在調用存儲過程時。常見的原因可能是:
- 調用代碼中傳入的參數類型不正確,導致實際傳入的是字符串,而存儲過程期望的是整型。
- 在存儲過程調用之前,沒有對傳入參數進行類型轉換,導致字符串參數直接被解釋為列名,而不是作為比較值。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END