天天看點

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

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

列名不存在的結論,但是,很多時候起始并不是由于列名出錯造成的。而是由于拼湊sql語句時對字元類型資料沒有用引号引起來造成的。

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

設定issueName值為ysy,則錯誤如下:

<code>Unknown column ‘ysy′ in ‘where clause’</code>

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

是以修改hql為:final String hql = "from ActiveCert ac where ac.issuerName='"+issueName+"'";

則錯誤消失。。

本文轉自 藝晨光 51CTO部落格,原文連結:http://blog.51cto.com/ycgit/1831634,如需轉載請自行聯系原作者

上一篇: ansible小技巧