错误背景
SpringBoot 项目使用 Mybatis 框架进行开发,相应的表已经配置了主键自增。
@TableId(type = IdType.AUTO)
private Integer id;数据库中的字段 id 值也设置了主键自增。
错误原因
出现这个错误的原因是因为当前表的 id 字段的序列值被改了,通过 Navicat 工具可以查看:

可以查看当前值为 209,这是正常的,出现错误的原因就是因为这个当前值被改了,可能改成了 1。
解决办法
执行一条命令,将序列的当前最大值 1 ;
select setval('test_id_seq',max(id) 1,true) from test其中 test 为表名,test_id_seq 为序列名。


