亚洲国产第一_开心网五月色综合亚洲_日本一级特黄特色大片免费观看_久久久久久久久久免观看

Hello! 歡迎來(lái)到小浪云!


MySQL存儲(chǔ)過(guò)程字符串參數(shù)報(bào)錯(cuò):為什么傳入字符串參數(shù)會(huì)報(bào)“Unknown column”錯(cuò)誤?


MySQL存儲(chǔ)過(guò)程字符串參數(shù)報(bào)錯(cuò):為什么傳入字符串參數(shù)會(huì)報(bào)“Unknown column”錯(cuò)誤?

mysql 存儲(chǔ)過(guò)程字符串參數(shù)報(bào)錯(cuò)分析

問(wèn)題:

在調(diào)用 mysql 存儲(chǔ)過(guò)程時(shí),傳入字符串參數(shù)會(huì)出現(xiàn)“unknown column”錯(cuò)誤。而傳入整型參數(shù)時(shí),存儲(chǔ)過(guò)程運(yùn)行正常。

存儲(chǔ)過(guò)程代碼:

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;
登錄后復(fù)制

錯(cuò)誤信息:

Procedure execution failed 1054 - Unknown column '王小李' in 'field list'
登錄后復(fù)制

分析:

存儲(chǔ)過(guò)程代碼本身并沒(méi)有問(wèn)題。因此,問(wèn)題可能出在調(diào)用存儲(chǔ)過(guò)程時(shí)。常見(jiàn)的原因可能是:

  • 調(diào)用代碼中傳入的參數(shù)類型不正確,導(dǎo)致實(shí)際傳入的是字符串,而存儲(chǔ)過(guò)程期望的是整型
  • 在存儲(chǔ)過(guò)程調(diào)用之前,沒(méi)有對(duì)傳入?yún)?shù)進(jìn)行類型轉(zhuǎn)換,導(dǎo)致字符串參數(shù)直接被解釋為列名,而不是作為比較值。

相關(guān)閱讀