码迷,mamicode.com
首页 > 其他好文 > 详细

【问题排查记录】Field 'id' doesn't have a default value;

时间:2016-06-21 17:41:10      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:

错误信息:

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;

标签:

原文地址:http://www.cnblogs.com/bukudekong/p/5604136.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!