解决方案:Duplicate column name 'id' ; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions

常见小阴沟系列,报错详情及解决方案如下:

报错详情:

Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Duplicate column name ‘id’
; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Duplicate column name ‘id’] with root cause
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Duplicate column name ‘id’
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

图片如下:

解决方案:Duplicate column name 'id' ; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions_第1张图片解决方案:

首先:查资料发现是因为查询结果存在重复的列:id
在MySQL中联查,如果有相同的列名,软件会自动改变列名使之不重复,而eclipse不会自动更改因此发生了报错,
发生此类一般是在查询时连接了其他表又没有对查询结果部分规范化代码。
解决的话需要把类似select * from table 的部分改为 select t.* from table t

本来悠哉游哉的解决一个思路清晰的sql,改完了之后在数据库运行都正常了程序还报错,最后发现问题出在sql改动部分几十行开外的角落,真的是,不说了。

你可能感兴趣的:(解决方案:Duplicate column name 'id' ; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions)