问题排查记录Field 'id' doesn't have a default value;
Posted 往者不谏 来者可追
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了问题排查记录Field 'id' doesn't have a default value;相关的知识,希望对你有一定的参考价值。
错误信息:
org.springframework.dao.DataIntegrityViolationException: StatementCallback; SQL [delete from table_a where union_id = 123456789;]; Field ‘id‘ doesn‘t have a default value; nested exception is java.sql.BatchUpdateException: Field ‘id‘ doesn‘t have a default value at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:249) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:407) at org.springframework.jdbc.core.JdbcTemplate.batchUpdate(JdbcTemplate.java:557)
出现错误的场景:
使用jdbctemplate向数据库批量更新时,报如上错误
解决思路:
1、首先排查,insert的语句中,是否包含自增列。
我的问题在于,从数据库中直接导出sql,没有勾选包含自增列,且数据多,未仔细检查,id未设置值,出现的问题。
2、不是手误的问题,就需要修改mysql校验列的条件了,即网上通用的修改方法
以上是关于问题排查记录Field 'id' doesn't have a default value;的主要内容,如果未能解决你的问题,请参考以下文章
Field 'id' doesn't have a default value
id注解使用uuid 报错Field 'id' doesn't have a default value
column 'id' in field list is ambiguous
Field 'id' doesn't have a default value错误解决方法
Caused by: java.sql.SQLException: Field 'id' doesn't have a default value
java.sql.SQLException: Field 'id' doesn't have a default value异常