当前位置:Gxlcms > 数据库问题 > PostgreSQL 序列使用

PostgreSQL 序列使用

时间:2021-07-01 10:21:17 帮助过:156人阅读

   SELECT setval(‘foo‘, 42);    --下次nextval将返回43


    SELECT setval(‘foo‘, 42, false);   --下次nextval将返回42

drop table table_name; 
drop sequence seq_name;

a.currval取得的是当前会话的序列值,在当前会话中该值不会因为其他会话取了nextval而变化。会变化的是全局的last_value值,并且当前会话中如果没有读过nextval值时直接读currval是会报错的。 
b.对于序列是由建表时指定serial时创建时,删除该表的同时,对应的序列也会被删除。 
c.表主键数据可以用跟表相关的序列,也可以用其他序列,但不推荐,只是PG默认它没错。 
d.为使多用户并发下同一个序列取值不会重复,nextval是不会rollback的,不过可以使用setval重置

PostgreSQL 序列使用

标签:全局   new   bsp   rda   last   指定字段   主键   height   san   

人气教程排行