Sobes.tech
Senior

Ako v PostgreSQL pridať obmedzenie jedinečnosti na kombináciu dvoch stĺpcov, kde jednotlivé hodnoty sa môžu opakovať, ale páry — nie?

sobes.tech AI

Odpoveď od AI

V PostgreSQL-u, za zabezpečenie jedinečnosti kombinácie hodnôt dvoch stĺpcov sa používa obmedzenie UNIQUE na tento pár stĺpcov. To zabezpečuje, že každý pár hodnôt bude jedinečný, aj keď sa jednotlivé hodnoty v stĺpcoch môžu opakovať.

Príklad SQL dotazu:

ALTER TABLE vaše_meno_tabulky
ADD CONSTRAINT unique_col1_col2 UNIQUE (stĺpec1, stĺpec2);

Ak sa tabuľka vytvára od začiatku, je možné okamžite špecifikovať obmedzenie:

CREATE TABLE vaše_meno_tabulky (
    id SERIAL PRIMARY KEY,
    stĺpec1 TYP,
    stĺpec2 TYP,
    -- ďalšie stĺpce
    CONSTRAINT unique_col1_col2 UNIQUE (stĺpec1, stĺpec2)
);

Týmto spôsobom databáza nedovolí vkladanie riadkov s opakujúcou sa kombináciou hodnôt v týchto dvoch stĺpcoch.