问题描述:原始sql没有问题,新增score字段后开始报错:
org.springframework.jdbc.BadSqlGrammarException:
### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column 'score' in 'field list'
### The error may exist in file [D:\IT\jetbrains\idea\workspaces\my-test\target\classes\mapper\StudentMapper.xml]
### The error may involve defaultParameterMap
### The error occurred while setting parameters
### SQL: select guid,name,age,score school,classes,create_date, update_date from student
### Cause: java.sql.SQLSyntaxErrorException: Unknown column 'score' in 'field list'
; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Unknown column 'score' in 'field list'
使用Navicat排查错误:
- 先复制原始sql语句,执行还是报错:
- 修改查询字段为星号,发现没有问题:
- 联想到新增的字段score,于是单独去除该字段进行查询:
- 问题确定score出现问题,查看表结构,单独看结构看不出问题:
- 查看建表语句,发现字段前面多了一个换行符:
- 删除换行符后,再次尝试:
总结:原来MySQL字段还可以使用换行符,长见识了......