mysql對sql中別名引起的Column not found問題,mysqlcolumn
Caused by: java.sql.SQLException: Column ‘BTN_ICON’ not found.
報錯資訊是找不到表中的某欄位,但是表裡確確實實有這個欄位。
這個問題,在百度是很難百度到的,因為百度出來的都是確實是欄位有問題或者sql寫的有問題。但其實,
這個問題並不是sql或者表欄位的問題。
sql如下:
SELECT B.RES_ID, B.RES_NAME, B.RES_TYPE, B.TARGET_RESOURCE, A.BTN_ICON AS RES_ICON, A.BTN_SCRIPT AS RES_SCRIPT ,B.CREATE_TIME FROM tf_b_BUTTON A,tf_b_RES B
我嘗試把這個欄位注釋了,卻報A.BTN_SCRIPT這個欄位有問題,觀察發現,僅僅用了別名的欄位才有問題!
原因是,我升級了mysql的jar包。升級為mysql-connector-java-5.1.34.jar,升級的原因是我升級了tomcat(老的mysql的jar只支援tomcat7)。
並且,我的資料來源配置是:
url=”jdbc:mysql://130.51.2.24:3010/zplatdb”
應該改為就可以了:
url=”jdbc:mysql://130.51.2.24:3010/zplatdb?useUnicode=true&characterEncoding=UTF-8”
或者改為:
url=”jdbc:mysql://130.51.2.24:3010/zplatdb?characterEncoding=utf-8&useOldAliasMetadataBehavior=true”
注意:&符合要使用&;來替代。
問題解決。
轉載請標明出處:
本文出自:【ouyida3的部落格】
2015.7.3
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。