【发布时间】:2011-05-25 19:15:42
【问题描述】:
您好,我有一个问题,我知道这已多次发布,但我没有找到问题的答案。问题是我有一个表和一个列“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)
是否足够或者还有其他事情应该做吗?
【问题讨论】:
-
显示插入数据的代码;拥有主键已经强制一个唯一的约束,所以你不需要添加它。
标签: postgresql