java.sql.SQLException: Field 'goods_id' doesn't have a default value 解决方案
问题描述:
java.sql.SQLException: Field 'goods_id' doesn't have a default value
项目是springCloud+springBoot+MybatisPlus搭建的, 在添加数据的时候, 就开始报这个错误, 这张表的主键是设置的而非自增长的
排查流程
查阅多篇文档, 大部分都说是 主键自增的问题, 我尝试性的的把主键设置为自增长, 便不报错了, 但这不符合开发要求.
苦思不得其解, 想到,这张数据库表对应的pojo类是自动生成的, 一查, 果然有问题
解决
原来代码生成器不知道为啥给生成的 主键字段对应属性为 自增的 注解, 将 AUTO 改为INPUT
纠错建议:
- 在mysql数据库中,如果自增长id没有设为Auto Increment,在java程序中就会报java.sql.SQLException: Field 'id' doesn't have a default value错误。
- 报错字段的 注解, 是否匹配数据库中设置的