我在PostgreSQL中有一个表,其中的模式看起来是这样的:

CREATE TABLE "foo_table" (
    "id" serial NOT NULL PRIMARY KEY,
    "permalink" varchar(200) NOT NULL,
    "text" varchar(512) NOT NULL,
    "timestamp" timestamp with time zone NOT NULL
)

现在我想通过alter表使永久链接在整个表中是唯一的。


当前回答

也可以创建一个唯一的超过1列的约束:

ALTER TABLE the_table 
    ADD CONSTRAINT constraint_name UNIQUE (column1, column2);

其他回答

或者,让DB自动分配一个约束名使用:

ALTER TABLE foo ADD UNIQUE (thecolumn);

我从PostgreSQL文档中找到了它,确切的语法是:

ALTER TABLE the_table ADD CONSTRAINT constraint_name UNIQUE (thecolumn);

由于弗雷德。

也可以创建一个唯一的超过1列的约束:

ALTER TABLE the_table 
    ADD CONSTRAINT constraint_name UNIQUE (column1, column2);