第一种

打开命令控制台:
创建一个序列,从 1 开始递增
输入: CREATE SEQUENCE upms_name_id_seq START 1;
然后在字段默认值里设 nextval(’ upms_name_id_seq '::regclass)即可。
在这里插入图片描述
也可以在创建表的sql设置默认的值

"name_id" int4 NOT NULL DEFAULT nextval('upms_name_id_seq '::regclass),
1 -- 序列重置到100
2 alter sequence sequence_name restart with 100
3 -- 验证 
4 SELECT nextval('sequence_name');

第二种

适用使用SQL创建表的时候使用

1. 建表语句

使用serial时,建表语句需要改一下:

create table test(
	id serial primary key,
	age int
)
  这时候,会自动创建名为表名_字段名_seq的序列,且MAXVALUE=9223372036854775807,其余值为1。
  例如,建立上表以后,则自动创建出名为test_id_seq的序列。

####2. 插入数据
插入数据,这样写就行了:

insert into test(age) values(12)

或者直接:

insert into test values(12)
  1. 如何获取序列的当前值
    使用如下sql可以获取序列当前值:

```bash
select currval('test_id_seq')

轉載原文:https://blog.csdn.net/weixin_42845682/article/details/107111996

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐