记录一次postgresql主键自增问题的解决

  • 问题描述:postgresql中有一个表A,A的主键目前一用到143位置(A.id=143)。那么我新插入的数据应该是从144开始使用主键id自增。
    但是出现的问题就是主键不是自增,而是一些很大或者很小的数。
  • 解决办法:
  1. 在java对应实体类的主键上加@TableId(type = IdType.AUTO),并且使用包装类型作为主键id的类型。(如下图所示)
  2. 然后给主键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端保存数据的时候就实现了主键自增。

posted @   龙存安然  阅读(128)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示