如何使用 PostgreSQL link 一个字段的序列?
How to link a sequence to a field with PostgreSQL?
在 postgreSQL 9.6 的文档中,它说有序列等价物,我们必须 link 字段的序列。
https://www.postgresql.org/docs/9.6/datatype-numeric.html (¤ 8.1.4)
我完全应用了相同的代码:
CREATE SEQUENCE seq_import_trame INCREMENT 1 START 1;
CREATE TABLE import_trame (
id integer NOT NULL DEFAULT nextval('seq_import_trame'),
...,
CONSTRAINT pk_import_trame PRIMARY KEY (id)
);
ALTER SEQUENCE seq_import_trame OWNED BY import_trame.id;
但是我在使用 pgAdmin 执行脚本时出错。
关系 "seq_import_trame" 已经存在。
代码:42P07
第 8 行:改变序列......
很奇怪,因为42P07错误是duplicate_table。
如果我们不创建 link,当我们删除 table.
时,序列不会被删除
有什么想法吗?
我发现数据库没有问题 Fiddle:
架构 (PostgreSQL v9.6)
CREATE SEQUENCE seq_import_trame INCREMENT 1 START 1;
CREATE TABLE import_trame (
id integer NOT NULL DEFAULT nextval('seq_import_trame'),
CONSTRAINT pk_import_trame PRIMARY KEY (id)
);
ALTER SEQUENCE seq_import_trame OWNED BY import_trame.id;
再次检查您的脚本。
在 postgreSQL 9.6 的文档中,它说有序列等价物,我们必须 link 字段的序列。
https://www.postgresql.org/docs/9.6/datatype-numeric.html (¤ 8.1.4)
我完全应用了相同的代码:
CREATE SEQUENCE seq_import_trame INCREMENT 1 START 1;
CREATE TABLE import_trame (
id integer NOT NULL DEFAULT nextval('seq_import_trame'),
...,
CONSTRAINT pk_import_trame PRIMARY KEY (id)
);
ALTER SEQUENCE seq_import_trame OWNED BY import_trame.id;
但是我在使用 pgAdmin 执行脚本时出错。
关系 "seq_import_trame" 已经存在。
代码:42P07
第 8 行:改变序列......
很奇怪,因为42P07错误是duplicate_table。 如果我们不创建 link,当我们删除 table.
时,序列不会被删除有什么想法吗?
我发现数据库没有问题 Fiddle:
架构 (PostgreSQL v9.6)
CREATE SEQUENCE seq_import_trame INCREMENT 1 START 1;
CREATE TABLE import_trame (
id integer NOT NULL DEFAULT nextval('seq_import_trame'),
CONSTRAINT pk_import_trame PRIMARY KEY (id)
);
ALTER SEQUENCE seq_import_trame OWNED BY import_trame.id;
再次检查您的脚本。