在postgreSQL 9.6的文档中,它说具有串行等效项,我们必须将序列链接到字段。
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行:ALTER SEQUENCE .....
这很奇怪,因为42P07错误是重复表。 而且,如果我们不建立链接,则在删除表时不会删除序列。
有什么想法吗?
答案 0 :(得分:0)
我看不到DB 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;
再次检查您的脚本。