设置的@TableId(type = IdType.AUTO)不生效

设置的@TableId(type = IdType.AUTO)不生效

我的表环境

img

我的entity类写了@TableId(type = IdType.AUTO)

img

我想测试的请求(UserMapper继承了BaseMapper)

img

我发送的请求

img

测试出错┭┮﹏┭┮

img

不知道为什么捏,明明数据库和代码都设置了自增,按理来说发送请求可以不需要再带上自增的id了。

根据你打印的sql可以判断,是你的数据库没有设置auto_increment,navicat在编辑字段界面,点一下属性,在也没下面可以设置自增

引用 皆我百晓生 小程序回复内容作答:
根据错误信息,问题出在数据插入操作上。错误信息指出在插入数据时,表中的'id'字段没有设置默认值。这可能是因为在插入数据时没有给'id'字段赋值。

要解决这个问题,可以尝试以下方法之一:

  1. 在数据库表设计中,将'id'字段设置为自增长(auto_increment),这样在插入数据时就不需要手动赋值。

  2. 在插入数据时,手动为'id'字段赋一个唯一且合法的值。

你需要进一步检查代码,确认是否在进行插入操作时缺少了'id'字段的赋值。

错误提示id没有设置默认值

看一下你表结构,主键设置自增了吗?