前后端分离项目(八):后端报错Field 'id' doesn't have a default value
好家伙,又到了修bug的环节,(深叹一口气)
好了,来看报错
2022-10-29 23:27:52.155 WARN 15068 --- [nio-8011-exec-2] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 1364, SQLState: HY000
2022-10-29 23:27:52.156 ERROR 15068 --- [nio-8011-exec-2] o.h.engine.jdbc.spi.SqlExceptionHelper : Field 'id' doesn't have a default value
2022-10-29 23:27:52.157 ERROR 15068 --- [nio-8011-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.orm.jpa.JpaSystemException: could not execute statement; nested exception is org.hibernate.exception.GenericJDBCException: could not execute statement] with root cause
提取关键字眼;
Field 'id' doesn't have a default value
去网上查了一圈,
发现是由于"id"属性没有勾选"自动递增"
我们去到数据库表的设置界面
(我用的MySQL)
说明:勾选①Auto Increment 必须先勾选 ②Prinmary Key否则会报错
①PRIMARY KEY 约束唯一标识数据库表中的每条记录。
主键必须包含唯一的值。
主键列不能包含 NULL 值。
每个表都应该有一个主键,并且每个表只能有一个主键。
②Auto-increment 会在新记录插入表中时生成一个唯一的数字,
正如它名称,一样它会自动增加
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2021-10-29 项目实践1:进行时(二)