MySQL存儲過程字符串參數報錯:為什么傳入字符串參數會報“Unknown column”錯誤?

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'

分析:

存儲過程代碼本身并沒有問題。因此,問題可能出在調用存儲過程時。常見的原因可能是:

  • 調用代碼中傳入的參數類型不正確,導致實際傳入的是字符串,而存儲過程期望的是整型。
  • 在存儲過程調用之前,沒有對傳入參數進行類型轉換,導致字符串參數直接被解釋為列名,而不是作為比較值。

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享