【问题排查记录】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;

时间: 2024-09-30 15:22:11

【问题排查记录】Field 'id' doesn't have a default value;的相关文章

Field 'id' doesn't have a default value

Field 'id' doesn't have a default value 如果出现以上错误,可能是设计数据库时,主键id没有设置 自动递增 打开 navicat.exe  选择设计表在自动递增上打钩,在点击保存,从起eclipse ,再重新部署项目,问题解决. Field 'id' doesn't have a default value

Field 'id' doesn't have a default value问题解决方法

今天在写数据库文件时,遇到了Field 'id' doesn't have a default value异常.hbm.xml文件pk <id name="id" column="id" type="integer"> <generator class="native" /> </id> 解决办法:在数据库表设置中,将主键设为Auto Increment即可. Field 'id' does

Caused by: java.sql.SQLException: Field &#39;id&#39; doesn&#39;t have a default value

1.错误描述 org.hibernate.exception.GenericJDBCException: error executing work at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:54) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(Sql

Error updating database. Cause: java.sql.BatchUpdateException: Field &#39;id&#39; doesn&#39;t have a default value

异常信息 ### Error updating database. Cause: java.sql.BatchUpdateException: Field 'id' doesn't have a default value Query is: INSERT INTO `test`.`order` ( `order`.`code`, `order`.`create_date`, `order`.`status`, ) VALUES ( ?, ?, 原因 数据库表设计时候id没有加自动增长 myba

Field &#39;id&#39; doesn&#39;t have a default value(jdbc连接错误)

JDBC 连接错误: 编写数据库连接增添数据时,出现以下错误: error : java.sql.SQLException: Field 'id' doesn't have a default value ”id“不具有默认值. 原因: 所建立的数据表中属性”id“,设置的是”不允许为空“.在插入前没有值,不允许进行插入操作. 解决方法: 1.将属性改为”允许为空“ 2.给”id“属性设置一个默认值.   Field 'id' doesn't have a default value(jdbc连

java.sql.SQLException: Field &#39;id&#39; doesn&#39;t have a default value(用eclipse操作数据库时报了这种奇怪的错误)的原因与解决方法

1.错误原因 由于id在数据库表中是作为主键,但是在插入的过程中,没有给予数值,并且没有让其自增 2.解决办法 修改数据库表中的id,让其自增(在插入的过程中,不插入id数据时) java.sql.SQLException: Field 'id' doesn't have a default value(用eclipse操作数据库时报了这种奇怪的错误)的原因与解决方法 原文地址:https://www.cnblogs.com/zyt-bg/p/8385972.html

Field &#39;id&#39; doesn&#39;t have a default value错误解决方法

Field 'id' doesn't have a default value 错误提示. 主键类型获取方式为"native"由数据库生成指定. 检查发现数据库中已存在Employee表,且表中id默认值为0,不是自增属性. 后删掉Employee表,运行Hibernate程序,由Hibernate程序运行创建Employee表.测试成功. Field 'id' doesn't have a default value错误解决方法 原文地址:https://www.cnblogs.co

matches field ID value 17.9.1 The LABEL element

https://www.w3.org/TR/html401/interact/forms.html#edef-LABEL <!ELEMENT LABEL - - (%inline;)* -(LABEL) -- form field label text --> <!ATTLIST LABEL %attrs; -- %coreattrs, %i18n, %events -- for IDREF #IMPLIED -- matches field ID value -- accesskey

MyBatis插入数据之后返回插入记录的id

MyBatis插入数据的时候,返回该记录的id <insert id="insert" keyProperty="id" useGeneratedKeys="true"? parameterType="com.demo.domain.CountRateConfig">? insert into query_rate_config (code,partner_type,search_count, booking_co