PostgreSQL创建表和自增序列

一、创建表:

注意:

1、在mysql没有序列的概念,id自增通过auto_increment实现;

2、pgsql没有auto_increment的概念,如何实现id自增?有两种方式:

方式一:创建序列,绑定表;

  • 创建序列:
create sequence t_user_id_seq;
  • 创建后刷新,发现在定义里面初始化了一些基础值:

  • 创建表,指定序列名称,注意,序列的名称加上单引号:
-- 注意:序列的名字加上单引号,否则报错
create table t_user(
id int8 default nextval('t_user_id_seq'),
	user_name varchar(255)
);
  • 在表属性上就能看到:
  • 在序列的定义上也能看到

方式二:创建表时,指定id的类型为自增序列类型,通过nextval(序列名称)函数直接在创建表的时候生成并绑定序列:

CREATE TABLE IF NOT EXISTS user_mode.t_order
(
    id bigint NOT NULL DEFAULT nextval('user_mode.t_order_id_seq'::regclass),
    order_number character(1)[] COLLATE pg_catalog."default" NOT NULL,
    order_name "char"[],
    price double precision,
    deleted int2vector NOT NULL,
    created_time time with time zone NOT NULL,
    CONSTRAINT t_order_pkey PRIMARY KEY (id)
);

方式二更方便!

测试:多次insert后,会根据定义生成自增序列:

二、查询、修改和删除和mysql没差别

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值