暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

opengauss序列整型SERIAL

原创 霸王龙的日常 2022-09-02
2074


序列整型

名称

描述

存储空间

范围

SMALLSERIAL

二字节序列整型。

2字节

-32,768 ~ +32,767

SERIAL

四字节序列整型。

4字节

-2,147,483,648 ~ +2,147,483,647

BIGSERIAL

八字节序列整型。

8字节

-9,223,372,036,854,775,808 ~ +9,223,372,036,854,775,807

说明:

SMALLSERIAL,SERIAL和BIGSERIAL类型不是真正的类型,只是为在表中设置唯一标识做的概念上的便利。因此,创建一个整数字段,并且把它的缺省数值安排为从一个序列发生器读取。应用了一个NOT NULL约束以确保NULL不会被插入。在大多数情况下用户可能还希望附加一个UNIQUE或PRIMARY KEY约束避免意外地插入重复的数值,但这个不是自动的。最后,将序列发生器从属于那个字段,这样当该字段或表被删除的时候也一并删除它。目前只支持在创建表时候指定SERIAL列,不可以在已有的表中,增加SERIAL列。另外临时表也不支持创建SERIAL列。因为SERIAL不是真正的类型,也不可以将表中存在的列类型转化为SERIAL。

示例:

--创建表。
openGauss=# CREATE TABLE smallserial_type_tab(a SMALLSERIAL);

--插入数据。
openGauss=# INSERT INTO smallserial_type_tab VALUES(default);

--再次插入数据。
openGauss=# INSERT INTO smallserial_type_tab VALUES(default);

--查看数据。
openGauss=# SELECT * FROM smallserial_type_tab;
a
---
1
2
(2 rows)

--创建表。
openGauss=# CREATE TABLE serial_type_tab(b SERIAL);

--插入数据。
openGauss=# INSERT INTO serial_type_tab VALUES(default);

--再次插入数据。
openGauss=# INSERT INTO serial_type_tab VALUES(default);

--查看数据。
openGauss=# SELECT * FROM serial_type_tab;
b
---
1
2
(2 rows)

--创建表。
openGauss=# CREATE TABLE bigserial_type_tab(c BIGSERIAL);

--插入数据。
openGauss=# INSERT INTO bigserial_type_tab VALUES(default);

--插入数据。
openGauss=# INSERT INTO bigserial_type_tab VALUES(default);

--查看数据。
openGauss=# SELECT * FROM bigserial_type_tab;
c
---
1
2
(2 rows)

--删除表。
openGauss=# DROP TABLE smallserial_type_tab;

openGauss=# DROP TABLE serial_type_tab;

openGauss=# DROP TABLE bigserial_type_tab;

最后修改时间:2022-09-08 10:08:33
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论