欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

mysql对sql中别名引起的Columnnotfound问题_MySQL

程序员文章站 2022-05-20 10:54:26
...

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”

注意:&符合要使用&;来替代。

问题解决。

相关标签: 别名 问题