Sobes.tech
Senior

Come aggiungere una restrizione di unicità in PostgreSQL sulla combinazione di due colonne, dove i valori singoli possono ripetersi, ma le coppie no?

sobes.tech AI

Risposta dell'AI

In PostgreSQL, per garantire l'unicità della combinazione di valori di due colonne, si utilizza il vincolo UNIQUE su questa coppia di colonne. Ciò garantisce che ogni coppia di valori sia unica, anche se i valori singoli nelle colonne possono ripetersi.

Esempio di query SQL:

ALTER TABLE il_tuo_nome_tabella
ADD CONSTRAINT unique_col1_col2 UNIQUE (colonna1, colonna2);

Se la tabella viene creata da zero, si può specificare subito il vincolo:

CREATE TABLE il_tuo_nome_tabella (
    id SERIAL PRIMARY KEY,
    colonna1 TIPO,
    colonna2 TIPO,
    -- altre colonne
    CONSTRAINT unique_col1_col2 UNIQUE (colonna1, colonna2)
);

In questo modo, il database non permetterà di inserire righe con una combinazione ripetuta di valori in queste due colonne.