Como faço para alterar uma tabela PostgreSQL e fazer uma coluna exclusiva?
-
19-08-2019 - |
Pergunta
Eu tenho uma tabela no PostgreSQL, onde a aparência do esquema como este:
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
)
Agora eu quero fazer o permalink única sobre a mesa pela ALTER-ing da mesa. Alguém pode me ajudar com isso?
TIA
Solução
Eu percebi isso desde os docs PostgreSQL, a sintaxe exata é:
ALTER TABLE the_table ADD CONSTRAINT constraint_name UNIQUE (thecolumn);
Fred .
Outras dicas
Ou, têm a DB atribuir automaticamente um nome de restrição usando:
ALTER TABLE foo ADD UNIQUE (thecolumn);
também é possível criar uma restrição exclusiva de mais de 1 coluna:
ALTER TABLE the_table
ADD CONSTRAINT constraint_name UNIQUE (column1, column2);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow