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.