Sobes.tech
Senior

Jak dodać ograniczenie unikalności w PostgreSQL na kombinacji dwóch kolumn, gdzie wartości mogą się powtarzać, ale pary nie?

sobes.tech AI

Odpowiedź od AI

W PostgreSQL, aby zapewnić unikalność kombinacji wartości dwóch kolumn, używa się ograniczenia UNIQUE na tej parze kolumn. Zapewnia to, że każda para wartości będzie unikalna, nawet jeśli pojedyncze wartości w kolumnach mogą się powtarzać.

Przykład zapytania SQL:

ALTER TABLE twoja_nazwa_tabeli
ADD CONSTRAINT unique_col1_col2 UNIQUE (kolumna1, kolumna2);

Jeśli tabela jest tworzona od zera, można od razu określić ograniczenie:

CREATE TABLE twoja_nazwa_tabeli (
    id SERIAL PRIMARY KEY,
    kolumna1 TYP,
    kolumna2 TYP,
    -- inne kolumny
    CONSTRAINT unique_col1_col2 UNIQUE (kolumna1, kolumna2)
);

W ten sposób baza danych nie pozwoli na wstawianie wierszy z powtarzającą się kombinacją wartości w tych dwóch kolumnach.