Pg sql 创建自动增长列及修改序列当前值

Pg 数据库创建自动增长列需要使用sql创建序列,然后再将序列绑定到对应的字段上。

创建序列的sql语句为

CREATE SEQUENCE REDIS_NODE_ID_SEQ
    START WITH 1        --开始值
    INCREMENT BY 1      --每次新增数
    NO MINVALUE         --无最小值
    NO MAXVALUE         --无最大值
    CACHE 1;            --缓存序列数量

绑定到指定列的sql语句为

alter table "REDIS_NODE" alter column "ID" set default nextval('REDIS_NODE_ID_SEQ');

获取序列下一个值的sql语句为

select nextval('REDIS_NODE_ID_SEQ')

这里序列为已经增加,如果你想改变序列的开始值,例如之前开始为1,你现在要改为10,执行以下sql语句是无效的

aleter SEQUENCE REDIS_NODE_ID_SEQ
    START WITH 10
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;

需要修改序列当前值,sql语句如下

--设置序列当前值
		ALTER SEQUENCE REDIS_NODE_ID_SEQ RESTART WITH 10

这里注意1075会用到一次,而不会直接从10开始,也就是select nexval('REDIS_NODE_ID_SEQ')查出来的下个值返回的是10

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值