欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

[GBase 8s 教程]GBase 8s 自动增长(AUTO INCREMENT)

程序员文章站 2022-07-01 08:26:35
...

AUTO INCREMENT(自动增长) 会在新记录插入表中时生成一个唯一的数字。
GBase 8s 使用序列来标识字段的自增长,数据类型有 serial、serial8 和 bigserial 。

GBase 8s 使用序列字段类型来标识字段的自增长。
SERIAL、SERIAL8 和 BIGSERIAL 范围:

类型 存储大小 范围 备注
SERIAL 4字节 1 到 2,147,483,647 0是占位符,与INTEGER类型相同的存储方式
SERIAL8 10字节 1 到 922,337,2036,854,775,807 0是占位符,与INT8类型相同的存储方式
BIGSERIAL 8字节 1 到 922,337,2036,854,775,807 0是占位符,与BIGINT类型相同的存储方式

语法
SERIAL 数据类型基础语法如下:

CREATE TABLE tablename (
   colname SERIAL
);

实例
假定我们要创建一张 COMPANY 表,并创建下面几个字段:

DROP TABLE IF EXISTS COMPANY;
CREATE TABLE COMPANY(
  ID         SERIAL         PRIMARY KEY,
  NAME       VARCHAR(40)    NOT NULL,
  AGE        INT            NOT NULL,
  ADDRESS    CHAR(50),
  SALARY     DECIMAL(10,2),
  JOIN_DATE  DATE           DEFAULT TODAY
);

其中ID为序列字段
现在往表中插入几条记录(0为序列字段的占位符):

INSERT INTO COMPANY VALUES (0, '李雷', 37, '北京', 20000.00,'2005-05-13');
INSERT INTO COMPANY VALUES (0, '韩梅梅', 35, '天津', 16000.00, '2007-12-18');
INSERT INTO COMPANY VALUES (0, '林涛', 36, '上海', 25000.00, '2006-01-04');
INSERT INTO COMPANY VALUES (0, '魏华', 36, '西安', 15000.00, '2007-08-30');
INSERT INTO COMPANY VALUES (0, '露茜', 34, '伦敦', 22000.00, '2008-08-08');
INSERT INTO COMPANY VALUES (0, '莉莉', 34, '伦敦', 22000.00, '2008-08-08');
INSERT INTO COMPANY VALUES (0, '吉姆', 35, '华盛顿', 16000.00, '2010-12-13');
INSERT INTO COMPANY VALUES (0, '汤姆', 36, '渥太华', 21000.00, '2010-04-30');

查看 COMPANY 表的记录如下:

id name age address salary join_date
1 李雷 37 北京 20000.00 2005-05-13
2 韩梅梅 35 天津 16000.00 2007-12-18
3 林涛 36 上海 25000.00 2006-01-04
4 魏华 36 西安 15000.00 2007-08-30
5 露茜 34 伦敦 22000.00 2008-08-08
6 莉莉 34 伦敦 22000.00 2008-08-08
7 吉姆 35 华盛顿 16000.00 2010-12-13
8 汤姆 36 渥太华 21000.00 2010-04-30

ID列显示为自动增长。