Sobes.tech
Senior

Hogyan lehet egy egyediségi korlátozást hozzáadni a PostgreSQL-ben két oszlop kombinációjára, ahol az értékek külön-külön ismétlődhetnek, de a párok nem?

sobes.tech MI

Válasz az MI-től

A PostgreSQL-ben a két oszlop értékeinek kombinációjának egyediségét a UNIQUE korlátozás használatával biztosítják ezen oszloppáron. Ez garantálja, hogy minden értékpár egyedi lesz, még akkor is, ha az oszlopokban az egyes értékek ismétlődhetnek.

SQL lekérdezés példája:

ALTER TABLE az_asztalad_neve
ADD CONSTRAINT unique_col1_col2 UNIQUE (oszlop1, oszlop2);

Ha a tábla nulláról jön létre, azonnal meg lehet adni a korlátozást:

CREATE TABLE az_asztalad_neve (
    id SERIAL PRIMARY KEY,
    oszlop1 TÍPUS,
    oszlop2 TÍPUS,
    -- egyéb oszlopok
    CONSTRAINT unique_col1_col2 UNIQUE (oszlop1, oszlop2)
);

Így az adatbázis nem fogja engedni, hogy olyan sorokat adjunk hozzá, amelyek ismétlődő értékek kombinációját tartalmazzák ezen két oszlopban.