查詢避免Unknown column ‘xxx’ in ‘where clause’

轉自:http://blog.sina.com.cn/s/blog_6870d1e00100k7fo.html


但凡寫過sql語句的人估計都曾經碰到過類似於Unknown column ‘xxx’ in ‘where clause’的問題。 單從字面理解,我們很容易得出

列名不存在的結論,但是,很多時候起始並不是由於列名出錯造成的。而是由於拼湊sql語句時對字符類型數據沒有用引號引起來造成的。


例如:一個hql語句:final String hql = "from ActiveCert ac where ac.issuerName="+issueName";

設置issueName值爲ysy,則錯誤如下:

Unknown column‘ysy′ in ‘where clause’

sql中如果issueName是整型的倒不會出現什麼錯誤,而如果sql中字符串類型必須要包含在引號內。

所以修改hql爲:final String hql = "from ActiveCert ac where ac.issuerName='"+issueName+"'";則錯誤消失。


還有一種可能就是真的列名出錯了,這時候先檢查表名是否符合,字段名是否符合,在某些系統和軟件環境下的大小寫檢測.


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章