随笔 - 597  文章 - 4  评论 - 445  阅读 - 424万

Greenplum和Postgresql的主键自增

参考:https://blog.csdn.net/u011042248/article/details/49422305

1、第一种情况就是创建数据表的时候创建主键自增,由于业务需要自己的数据表已经创建了,而且加了保存了很多数据,所以这种方式不能使用,但是记下笔记,方便自己以后使用。
由于Greenplum是从Postgresql发展而来的,由于postgreSQL主键自增需要使用序列,所以Greenplum主键自增也需要使用序列。
使用SERIAL的方式创建ID主键自增,需要注意的是Greenplum和Postgresql区分大小写,所以注意加上双引号。

复制代码
 1 DROP TABLE IF EXISTS "core_data"."users181020";
 2 CREATE TABLE "core_data"."users181020" (
 3  "ID" SERIAL primary key NOT NULL,
 4   "ORIDBNAME" varchar(255) DEFAULT NULL,
 5   "ORIDBALIAS" varchar(255) DEFAULT NULL,
 6   "TABLENAME" varchar(255) DEFAULT NULL,
 7   "ORIACCOUNTNUM" varchar(255) DEFAULT NULL,
 8   "TARDBNAME" varchar(255) DEFAULT NULL,
 9   "TARDBALIAS" varchar(255) DEFAULT NULL,
10   "TARACCOUNTNUM" varchar(11) DEFAULT NULL,
11   "COUNTTIME" timestamp(0) DEFAULT NULL,
12   "TAG" varchar(255) DEFAULT NULL
13 ) 
复制代码

注意:自动创建名为users181020_ID_seq的序列,且MAXVALUE=9223372036854775807

 红色箭头所指的其他,下拉以后可以看到序列,然后点击序列,可以查看自己创建的序列。由于是正式项目,所以不截图了。

可以查看详细信息:

 2、第二种方式是,先创建序列,然后设置字段的自增。

1 CREATE SEQUENCE users181020_ID_seq
2 START WITH 1    #如果你从1递增,那么你可以设置1,由于我的已经存在数据,所以设置最大MAX("ID")就行了。
3 INCREMENT BY 1
4 NO MINVALUE
5 NO MAXVALUE
6 CACHE 1;

比如我的:

1 CREATE SEQUENCE users181020_ID_seq
2 START WITH 100
3 INCREMENT BY 1
4 NO MINVALUE
5 NO MAXVALUE
6 CACHE 1;

然后使用下面的alter table语句就可以将自己的表设置主键自增了。

1 alter table users181020 alter column id set default nextval('users181020_ID_seq');

 

posted on   别先生  阅读(4909)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
历史上的今天:
2017-10-20 一脸懵逼学习Hive的使用以及常用语法(Hive语法即Hql语法)
2017-10-20 一脸懵逼学习Hive的元数据库Mysql方式安装配置
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示