我有一个问题,我知道这是张贴了很多次,但我没有找到一个答案,我的问题。问题是,我有一个表和一个列“ id”,我希望它是唯一的数字,就像正常情况一样。这种类型的列是串行的,每次插入后的下一个值来自一个序列,所以看起来一切正常,但有时仍然显示这个错误。我不知道为什么。在文档中,它说这个顺序是万无一失的,并且总是有效的。如果我向该列添加一个 UNIQUE 约束,它会有帮助吗?我以前在 Postres 上工作过很多次,但是这个错误第一次在我身上显现出来。我一切正常,以前从来没有这个问题。您能帮助我找到将来可以用于所有将要创建的表的答案吗?假设我们有这样简单的东西:
CREATE TABLE comments
(
id serial NOT NULL,
some_column text NOT NULL,
CONSTRAINT id_pkey PRIMARY KEY (id)
)
WITH (
OIDS=FALSE
);
ALTER TABLE interesting.comments OWNER TO postgres;
如果我加上:
ALTER TABLE comments ADD CONSTRAINT id_id_key UNIQUE(id)
是否足够,或者还有其他应该做的事情?