解决报错:SQLException: Field 'sort_order' doesn't have a default value;使用MybatisPlus自动插入相应的字段时应该注意,

使用MybatisPlus自动插入相应的字段时应该注意

报错信息:

Error updating database. Cause: java.sql.SQLException: Field ‘sort_order’ doesn’t have a default value

The error may involve com.ultrapower.life.mapper.WxMainDetailMapper.insert-Inline

The error occurred while setting parameters

SQL: INSERT INTO wx_main_detail ( home_id, image_url, status, create_time ) VALUES ( ?, ?, ?, ? )

Cause: java.sql.SQLException: Field ‘sort_order’ doesn’t have a default value

; Field ‘sort_order’ doesn’t have a default value; nested exception is java.sql.SQLException: Field ‘sort_order’ doesn’t have a default value
at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:73)
at org.mybatis.spring.SqlSessionTemplateSqlSessionInterceptor.invoke(SqlSessionTemplate.java:446)atcom.sun.proxy.SqlSessionInterceptor.invoke(SqlSessionTemplate.java:446) at com.sun.proxy.Proxy101.insert(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:278)
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:64)
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:61)
at com.sun.proxy.Proxy113.insert(UnknownSource)atcom.baomidou.mybatisplus.extension.service.impl.ServiceImpl.save(ServiceImpl.java:105)atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)atjava.lang.reflect.Method.invoke(Method.java:498)atorg.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)atorg.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:206)atcom.sun.proxy.Proxy113.insert(Unknown Source) at com.baomidou.mybatisplus.extension.service.impl.ServiceImpl.save(ServiceImpl.java:105) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:206) at com.sun.proxy.Proxy115.save(Unknown Source)

问题根源:在插入的时候没有值,故报错!

解决报错:SQLException: Field 'sort_order' doesn't have a default value;使用MybatisPlus自动插入相应的字段时应该注意,

解决办法:在MybatisPlus自动插入 的方法设置需要插入数据库的值;如下所示:

解决报错:SQLException: Field 'sort_order' doesn't have a default value;使用MybatisPlus自动插入相应的字段时应该注意,

这是我需要插入的字段

把这个加上之后就可以了,

演示:框框内是我们需要插入数据库的内容

解决报错:SQLException: Field 'sort_order' doesn't have a default value;使用MybatisPlus自动插入相应的字段时应该注意,

结果:

看看后台SQL

解决报错:SQLException: Field 'sort_order' doesn't have a default value;使用MybatisPlus自动插入相应的字段时应该注意,

再看看数据库:解决了!

解决报错:SQLException: Field 'sort_order' doesn't have a default value;使用MybatisPlus自动插入相应的字段时应该注意,