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
版权声明:本文为zhou_xuexi原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。