Как изменить таблицу PostgreSQL и сделать столбец уникальным? - PullRequest
130 голосов
/ 22 января 2009

У меня есть таблица в 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
)

Теперь я хочу сделать постоянную ссылку уникальной для всей таблицы, изменив таблицу. Кто-нибудь может мне помочь с этим?

ТИА

Ответы [ 3 ]

216 голосов
/ 22 января 2009

Я понял это из документации PostgreSQL, точный синтаксис:

ALTER TABLE the_table ADD CONSTRAINT constraint_name UNIQUE (thecolumn);

Спасибо Фред .

195 голосов
/ 04 сентября 2011

Или, если БД автоматически назначит имя ограничения, используя:

ALTER TABLE foo ADD UNIQUE (thecolumn);
31 голосов
/ 16 ноября 2016

также возможно создать уникальное ограничение из более чем одного столбца:

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