PostgreSQL学习篇9.4 序列类型
2016-12-19 12:41
429 查看
序列类型:serial、bigserial。PG与Oracle一样有序列,但是MySQL没有。 示例: postgres=# create table testseq(id serial,name varchar(100)); CREATE TABLE postgres=# insert into testseq(name) values('dxmy'); INSERT 0 1 postgres=# select * from testseq; id | name ----+------ 1 | dxmy (1 row) postgres=# \d testseq; Table "public.testseq" Column | Type | Modifiers --------+------------------------+------------------------------------------------------ id | integer | not null default nextval('testseq_id_seq'::regclass) name | character varying(100) | postgres=# --看下PG中的sequence postgres=# create sequence seq_1; CREATE SEQUENCE postgres=# \d seq_1; Sequence "public.seq_1" Column | Type | Value ---------------+---------+--------------------- sequence_name | name | seq_1 last_value | bigint | 1 start_value | bigint | 1 increment_by | bigint | 1 max_value | bigint | 9223372036854775807 min_value | bigint | 1 cache_value | bigint | 1 log_cnt | bigint | 0 is_cycled | boolean | f is_called | boolean | f ^ postgres=# select currval('seq_1'); ERROR: currval of sequence "seq_1" is not yet defined in this session postgres=# select nextval('seq_1'); nextval --------- 1 (1 row) postgres=# select nextval('seq_1'); nextval --------- 2 (1 row) postgres=# select currval('seq_1'); currval --------- 2 (1 row) postgres=# select * from seq_1; --这个就比较神奇了 sequence_name | last_value | start_value | increment_by | max_value | min_value | cache_value | log_cnt | is_cycled | is_called ---------------+------------+-------------+--------------+---------------------+-----------+-------------+---------+-----------+----------- seq_1 | 2 | 1 | 1 | 9223372036854775807 | 1 | 1 | 31 | f | t (1 row) postgres=# select setval('seq_1',300); --可以直接设置sequence的值 setval -------- 300 (1 row) postgres=# select currval('seq_1'); currval --------- 300 (1 row) postgres=#
相关文章推荐
- PostgreSQL学习篇9.17 数组类型
- PostgreSQL学习篇9.16 range类型
- PostgreSQL数值类型--浮点类型和序列
- PostgreSQL学习篇9.9 日期/时间类型
- PostgreSQL学习篇9.2 数值类型
- PostgreSQL学习篇9.3 浮点数类型
- PostgreSQL学习篇9.7 字符串类型
- postgresql----serial类型和序列
- PostgreSQL学习篇9.5 货币类型
- PostgreSQL学习篇9.3 浮点数类型
- PostgreSQL学习篇9.8 位串类型
- PostgreSQL学习篇9.11 几何类型
- PostgreSQL学习篇9.12 网络地址类型
- postgresql----serial类型和序列
- PostgreSQL学习篇9.13 复合类型
- PostgreSQL学习篇9.15 JSON类型
- PostgreSQL Serial类型和序列及子查询(五)
- Mybatis插入postgresql数据库中类型为UUID的字段
- PostgreSQL中的依赖类型
- PostgreSQL的日志类型