Sobes.tech
Senior

Kako dodati ograničenje jedinstvenosti u PostgreSQL na kombinaciju dve kolone, gde pojedinačne vrednosti mogu da se ponove, ali parovi — ne?

sobes.tech АИ

Одговор од АИ

U PostgreSQL-u, za obezbeđivanje jedinstvenosti kombinacije vrednosti dve kolone, koristi se ograničenje UNIQUE na taj par kolona. To garantuje da će svaki par vrednosti biti jedinstven, čak i ako se pojedinačne vrednosti u kolonama mogu ponoviti.

Primer SQL upita:

ALTER TABLE vaše_ime_tabele
ADD CONSTRAINT unique_col1_col2 UNIQUE (kolona1, kolona2);

Ako se tabela kreira od nule, ograničenje se može odmah navesti:

CREATE TABLE vaše_ime_tabele (
    id SERIAL PRIMARY KEY,
    kolona1 TYP,
    kolona2 TYP,
    -- druge kolone
    CONSTRAINT unique_col1_col2 UNIQUE (kolona1, kolona2)
);

Na ovaj način, baza podataka neće dozvoliti unos redova sa ponovljenom kombinacijom vrednosti u ove dve kolone.