700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Field 'Id' doesn't have a default value解决方法

Field 'Id' doesn't have a default value解决方法

时间:2019-06-16 01:59:22

相关推荐

Field 'Id' doesn't have a default value解决方法

今天写代码遇到的一个小问题:使用工具将SQL文件导入数据库时出现的问题,一开始没注意到,后来检查了下数据表,发现在Mysql中没有将主键设置为自增,所以在使用Mybatis时获取生成主键时出现异常,异常如下:

七月 14, 12:27:33 上午 org.apache.catalina.core.StandardWrapperValve invoke严重: Servlet.service() for servlet [springDispatcherServlet] in context with path [/mall_lxj_manage_teacher] threw exception [Request processing failed; nested exception is org.springframework.dao.DataIntegrityViolationException: ### Error updating database. Cause: java.sql.SQLException: Field 'Id' doesn't have a default value### The error may involve com.lxj.mapper.SpuMapper.insert_images-Inline### The error occurred while setting parameters### SQL: insert into t_mall_product_image(shp_id,url) values(?,?) ,(?,?) ,(?,?)### Cause: java.sql.SQLException: Field 'Id' doesn't have a default value; SQL []; Field 'Id' doesn't have a default value; nested exception is java.sql.SQLException: Field 'Id' doesn't have a default value] with root causejava.sql.SQLException: Field 'Id' doesn't have a default valueat com.mysql.jdbc.SQLError.createSQLException(SQLError.java:959)at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3870)at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3806)at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2470)at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2617)at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2550)at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1861)at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1192)at mons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172)at mons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172)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.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:62)at com.sun.proxy.$Proxy20.execute(Unknown Source)at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:44)at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:69)at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:48)at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:105)at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:71)at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:152)at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:141)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.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:358)at com.sun.proxy.$Proxy12.insert(Unknown Source)at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:240)at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:51)at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:52)at com.sun.proxy.$Proxy13.insert_images(Unknown Source)at com.lxj.service.SpuServiceImp.save_spu(SpuServiceImp.java:29)at com.lxj.controller.SpuController.spu_add(SpuController.java:29)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.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:214)at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:748)at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689)at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:945)at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:876)at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:931)at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:833)at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:807)at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:442)at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1082)at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:623)at org.apache..JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)at java.lang.Thread.run(Thread.java:745)七月 14, 12:27:33 上午 org.apache.catalina.core.StandardWrapperValve invoke严重: Servlet.service() for servlet [springDispatcherServlet] in context with path [/mall_lxj_manage_teacher] threw exception [Request processing failed; nested exception is org.springframework.dao.DataIntegrityViolationException: ### Error updating database. Cause: java.sql.SQLException: Field 'Id' doesn't have a default value### The error may involve com.lxj.mapper.SpuMapper.insert_images-Inline### The error occurred while setting parameters### SQL: insert into t_mall_product_image(shp_id,url) values(?,?) ,(?,?) ,(?,?)### Cause: java.sql.SQLException: Field 'Id' doesn't have a default value; SQL []; Field 'Id' doesn't have a default value; nested exception is java.sql.SQLException: Field 'Id' doesn't have a default value] with root causejava.sql.SQLException: Field 'Id' doesn't have a default valueat com.mysql.jdbc.SQLError.createSQLException(SQLError.java:959)at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3870)at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3806)at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2470)at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2617)at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2550)at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1861)at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1192)at mons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172)at mons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172)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.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:62)at com.sun.proxy.$Proxy20.execute(Unknown Source)at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:44)at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:69)at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:48)at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:105)at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:71)at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:152)at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:141)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.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:358)at com.sun.proxy.$Proxy12.insert(Unknown Source)at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:240)at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:51)at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:52)at com.sun.proxy.$Proxy13.insert_images(Unknown Source)at com.lxj.service.SpuServiceImp.save_spu(SpuServiceImp.java:29)at com.lxj.controller.SpuController.spu_add(SpuController.java:29)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.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:214)at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:748)at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689)at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:945)at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:876)at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:931)at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:833)at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:807)at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:442)at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1082)at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:623)at org.apache..JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)at java.lang.Thread.run(Thread.java:745)

仔细看了下数据库,主键没有设置自增:

而xml配置文件中使用了生成主键:

虽然是个小问题,但是要找出来也得废把劲,所以还是写篇博客来提醒自己,多注意注意细节,debug如下:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。