记录一次postgresql主键自增问题的解决
- 问题描述:postgresql中有一个表A,A的主键目前一用到143位置(A.id=143)。那么我新插入的数据应该是从144开始使用主键id自增。
但是出现的问题就是主键不是自增,而是一些很大或者很小的数。 - 解决办法:
- 在java对应实体类的主键上加
@TableId(type = IdType.AUTO),并且使用包装类型作为主键id的类型。(如下图所示)
![]()
- 然后给主键id关联一个自增序列。(下面的语句在SQL编辑器运行脚本即可)。
`CREATE SEQUENCE public.table_id_seq
INCREMENT BY 1
MINVALUE 1
MAXVALUE 2147483647
START 144
CACHE 1
NO CYCLE;
ALTER TABLE public.table ALTER COLUMN id SET DEFAULT nextval('table_id_seq'::regclass);`
点击SQL编辑器:

然后点击运行:

最后在java端保存数据的时候就实现了主键自增。


浙公网安备 33010602011771号