簡體   English   中英

postgres是否支持在序列定義中設置起始值?

[英]Does postgres support to set start value at serial definition?

是一個關於使用alter key word更改序列值的問題。 這可以在create table defintion中完成嗎? 像那樣:

CREATE TABLE tablename (
    colname SERIAL stars 1000
);

你可以嘗試這個查詢。它適合我。

CREATE SEQUENCE tablename_colname_seq
  INCREMENT 1
  MINVALUE 1
  MAXVALUE 9223372036854775807
  START 1 ---> here you can mention startup nummber as you need
  CACHE 1;

CREATE TABLE tablename (
    colname integer NOT NULL DEFAULT nextval('tablename_colname_seq')
);

身份列

目前沒有辦法在PostgreSQL 9.x中使用PostgreSQL特定的串行類型語法CREATE TABLE命令中執行此操作。 但是,它使用標准化的Identity Columns語法進入PostgreSQL 10 ,請參閱我的答案

這是它的外觀

CREATE TABLE foo (
    id int GENERATED { ALWAYS | BY DEFAULT }
      AS IDENTITY [ ( sequence_options ) ]
);

其中(sequence_options)START WITH 1000 ,所以這樣的事情。

CREATE TABLE foo (
  foo_id   int   GENERATED ALWAYS AS IDENTITY (START WITH 1000)
);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM