postgresql Уникальность для двух полей независимо от порядка значений в этих полях
Как создать таблицу, чтоб уникальность значений двух столбцов, осуществлялась как слева направо, так и наоборот справа налево? типа такого
CREATE TABLE name (
id INT NOT NULL,
name VARCHAR NOT NULL,
name2 VARCHAR NOT NULL,
PRIMARY KEY (id),
CONSTRAINT unique_name UNIQUE (name2, name) and CONSTRAINT unique_name2 UNIQUE (name, name2)
);
Другими словами 'Игорь', 'Иван'
и 'Иван', 'Игорь'
- одно и тоже, и попытка записать второй вариант вызывала бы ошибку уникальности.
Источник: Stack Overflow на русском