Senior
Jak přidat v PostgreSQL omezení unikátnosti na kombinaci dvou sloupců, kde jednotlivé hodnoty se mohou opakovat, ale páry ne?
sobes.tech AI
Odpověď od AI
V PostgreSQL se k zajištění jedinečnosti kombinace hodnot dvou sloupců používá omezení UNIQUE na tento pár sloupců. To zajišťuje, že každý pár hodnot bude jedinečný, i když se jednotlivé hodnoty ve sloupcích mohou opakovat.
Příklad SQL dotazu:
ALTER TABLE vaše_jméno_tabulky
ADD CONSTRAINT unique_col1_col2 UNIQUE (sloupec1, sloupec2);
Pokud je tabulka vytvářena od začátku, lze omezení ihned specifikovat:
CREATE TABLE vaše_jméno_tabulky (
id SERIAL PRIMARY KEY,
sloupec1 TYP,
sloupec2 TYP,
-- další sloupce
CONSTRAINT unique_col1_col2 UNIQUE (sloupec1, sloupec2)
);
Tímto způsobem databáze nedovolí vložit řádky s opakující se kombinací hodnot v těchto dvou sloupcích.