如何使用PostgreSQL将序列链接到字段?

时间:2019-02-07 10:37:09

标签: sql postgresql postgresql-9.6

在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错误是重复表。 而且,如果我们不建立链接,则在删除表时不会删除序列。

有什么想法吗?

1 个答案:

答案 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;

View on DB Fiddle

再次检查您的脚本。