但凡寫過sql語句的人估計(jì)都曾經(jīng)碰到過類似于Unknown column ‘xxx’ in ‘where clause’的問題。 單從字面理解,我們很容易得出列名不存在的結(jié)論。這說明sql語句編寫不正確,需要進(jìn)行檢查、修改。
但是,很多時候起始并不是由于列名出錯造成的。(推薦學(xué)習(xí):MySQL視頻教程)
而是由于拼湊sql語句時對字符類型數(shù)據(jù)沒有用引號引起來造成的。
例子:
String sql="select age from user where name="+xxx+";
設(shè)置name的值為columName,則錯誤如下:
Unknown column ′xxx′ in ′where clause′
解決步驟:
sql中如果name是整型的倒不會出現(xiàn)什么錯誤,而如果sql中字符串類型必須要包含在引號內(nèi)。
所以修改sql為
String sql="select age from user where name=′"+xxx+"′";
則錯誤消失。