Mybatis报错(八)| Error querying database. Cause: java.sql.SQLSyntaxErrorException

1,707 阅读1分钟

微信公众号:秀基宝。如有问题,请后台留言,反正我也不会听。

前言

最近写查询时候报了一个莫名其妙的报错,这是一个小问题,首先这是一个sql语法的问题

这是一个查询语句,sql如下

insert into custom_field(type, field_name, field_key, username, field_order, is_checked, description, field_order, is_deleted, creator, modifier)
values (#{type}, #{fieldName}, #{fieldKey}, #{username}, #{fieldOrder}, 1, #{description}, #{fieldOrder}, 0, #{creator}, #{creator})

不仔细看,发现不出来,如是运行报错如下

### Error querying database.  Cause: java.sql.SQLSyntaxErrorException: Column 'field_order' specified twice
### The error may exist in file [D:\Users\72153169\IdeaProjects\parent\qmp-service\target\classes\mapper\CustomFieldMapper.xml]
### The error may involve com.system.mapper.CustomFieldMapper.saveField-Inline
### The error occurred while setting parameters
### SQL: insert into custom_field(type, field_name, field_key, username, field_order, is_checked, description, field_order,                                       is_deleted, creator, modifier)         values (?, ?, ?, ?, ?, 1, ?, ?,                 0, ?, ?)
### Cause: java.sql.SQLSyntaxErrorException: Column 'field_order' specified twice
; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Column 'field_order' specified twice
org.springframework.jdbc.BadSqlGrammarException: 
### Error querying database.  Cause: java.sql.SQLSyntaxErrorException: Column 'field_order' specified twice
### The error may exist in file [D:\Users\72153169\IdeaProjects\parent\qmp-service\target\classes\mapper\CustomFieldMapper.xml]
### The error may involve com.mapper.CustomFieldMapper.saveField-Inline
### The error occurred while setting parameters
### SQL: insert into custom_field(type, field_name, field_key, username, field_order, is_checked, description, field_order,                                       is_deleted, creator, modifier)         values (?, ?, ?, ?, ?, 1, ?, ?,                 0, ?, ?)
### Cause: java.sql.SQLSyntaxErrorException: Column 'field_order' specified twice
; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Column 'field_order' specified twice

解决

最终发现字段多谢了一个,从日志看得出field_order出了问题,于是我一个个对字段,发现多谢了一个

希望大家也多多细心