zoukankan      html  css  js  c++  java
  • 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');
  • 相关阅读:
    2019年中国高校计算机大赛
    2019年华北五省(市、自治区)及港澳台大学生计算机应用大赛
    2019年(第12届)中国大学生计算机设计大赛
    2020移动开发竞赛
    2019年华北五省(市、自治区)及港澳台大学生计算机应用大赛
    Android 开发者指南
    Android :HangUp Notification 横幅通知
    HBU E-mobile
    Android Q is Android 10
    Android Studio 3.5(Last updated 7/29/2019)
  • 原文地址:https://www.cnblogs.com/biehongli/p/9822336.html
Copyright © 2011-2022 走看看