【MySQL】报错:nested exception is org.springframework.jdbc.BadSqlGrammarException:
笔者在完成SSM代码进行调试的过程中遇到了服务器报错
出错位置
### The error may exist in file [D:\apache-tomcat-8.5.61\apache-tomcat-8.5.61\apache-tomcat-8.5.61\webapps\hrsys_ssm_war\WEB-INF\classes\mapper\EmployeeDao.xml]
具体报错原因
SQL: insert into employee (number,name,gender,age,dep_id)values(?,?,?,?,?,?)
### Cause: java.sql.SQLException: Column count doesn't match value count at row 1
解决步骤
1. 根据报错信息找到出错位置EmployeeDao.xml,并且找到出错位置
<insert id="add">
insert into employee
(number,name,gender,age,dep_id)values(#{number},#{number},#{name},#{gender},#{age},#{dep.id})
</insert>
2. 打开SQL查询编辑器
首先点击出错表所在的数据库
再点击查询,新建查询
3. 将出错位置的SQL语句复制到navicat上运行
注意:将xml上的SQL操作复制过来后,需要根据数据库里面所包含的组进行修改,即修改value的值,记得value值的主键不能重复
选中语句单击右键,选择‘运行以选择的’
4. 发现时SQL语句的错误,对SQL语句进行修改
改错完成~!
总结当我们的和SQL相关的代码出错时,我们可以把它拷贝到navicat上去跑一跑,有助于我们判别是不是SQL语句的错误和对SQL语句错误进行改正