如何解决Cause: java.sql.SQLException: Field ‘id‘ doesn‘t have a default value

在做商品上传功能的时候报了Cause: java.sql.SQLException: Field 'id' doesn't have a default value的错误(主要错误如下),经查询是因为mapper.xml中设置了ID自增长,但是数据库中却没有设置自增长造成的

解决途径:

第一步:检查自己的id是否是int类型,因为我自己设置的是string类型,所以在使用Navicat 时找不到自增的选框

public class FoodEntity {
    /**
     * 商品ID
     */
    @TableId
    private String id; // 这里设置为String 照样会出错
    //自动增长的类型是int
    private int id
    

第二步:打开Navicat Premium,对需要操作的表点击设计表

如何解决Cause: java.sql.SQLException: Field ‘id‘ doesn‘t have a default value_第1张图片

第三步:勾选自动增长

如何解决Cause: java.sql.SQLException: Field ‘id‘ doesn‘t have a default value_第2张图片

再重新启动项目,即可实现相应的操作

 

你可能感兴趣的:(如何解决Cause: java.sql.SQLException: Field ‘id‘ doesn‘t have a default value)