【发布时间】:2023-03-22 03:35:01
【问题描述】:
Here 是一个关于用alter 关键字改变序列值的问题。这可以在创建表定义中完成吗?像这样:
CREATE TABLE tablename (
colname SERIAL stars 1000
);
【问题讨论】:
-
1000是起始值吗?
标签: sql postgresql auto-increment
Here 是一个关于用alter 关键字改变序列值的问题。这可以在创建表定义中完成吗?像这样:
CREATE TABLE tablename (
colname SERIAL stars 1000
);
【问题讨论】:
标签: sql postgresql auto-increment
目前没有办法在 PostgreSQL 9.x 中的 CREATE TABLE 命令中使用 PostgreSQL 特定的 serial-type syntax 执行此操作。但是,它在 PostgreSQL 10 中使用 standardized Identity Columns syntax, see my answer on it here
这是它的外观
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)
);
【讨论】:
你可以试试这个查询。它对我有用。
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')
);
【讨论】: