Come modificare una tabella Postgres con ALTER per rendere univoca una colonna?

Ho creato una tabella in PostgreSQL con la seguente dichiarazione:

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
)

adesso vorrei modificare la tabella con ALTER per rendere la colonna 'permalink' univoca, qualcuno puo' dirmi la sintassi sql corretta da utlizzare?

In Corso 1
PostgreSQL 20-06-2018 2 Risposte 3674 Visite +1

Risposte ( 2 approvate )

  1. Arturo Padova
    +1
    20-06-2018 12:50:06
    Rispondi

    La sintassi sql corretta per aggiungere un constraint (vincolo) ad una colonna di una tabella con ALTER è

    ALTER TABLE foo_table ADD CONSTRAINT constraint_name UNIQUE (permalink);
  2. Andrea Rimpezzi
    0
    20-06-2018 12:54:25
    Rispondi
    Con ALTER puoi aggiungere un vincolo di unicità anche a due o più colonne, così: ALTER TABLE my_table ADD CONSTRAINT constraint_name UNIQUE (column1, column2); in questo modo sarà la combinazione delle due colonne a dover essere univoche, ad es. potresti avere una tabella documenti dove ne definisci il titolo, data e tipologia ed imporre il vincolo che data e tipo devono essere unici, così sarai sicuro che non avrai mai due documenti dello stesso tipo identici nello stesso giorno.

Rispondi

Per poter rispondere a questa domanda, devi essere registrato e loggato sul sito, dopodichè compila il box sottostante cercando di essere il più chiaro ed esauriente possibile, la tua risposta potrebbe essere la soluzione che l'utente cerca ed essere contrassegnata come migliore, consentendoti così di ottenere punti ed autorevolezza.

Baldassare Rao

Baldassare Rao

Autore di questa domanda

 Domanda Precedente

 Elenco Domande 

Domanda Successiva