PostgreSQL 10 Ограничение на 2 столбца? - PullRequest
0 голосов
/ 24 мая 2018

Можно ли добавить ограничение, которое проверяет, что ДВЕ столбца уникальны в PostgreSQL 10?Я посмотрел вокруг, но не могу найти ничего, связанного с моей конкретной потребностью.

Моя проблема заключается в том, что я должен отслеживать отдельные идентификаторы (теги), связанные с дополнительными идентификаторами (концентратор).Я не могу установить идентификаторы своих тегов как уникальные, так как они будут появляться несколько раз, связанные с идентификаторами концентраторов.Я также не могу установить уникальные идентификаторы концентраторов, поскольку с ними будет связано несколько идентификаторов тегов.

Есть ли способ сказать (тег 123 и концентратор 456) уникальным, но тег 123 все равно можно зарегистрировать, если концентратор 789, и наоборот?

Корень этого в том, чтоON CONSTRAINT DO UPDATE, похоже, не работает без уникальных ограничений, и я застрял.

Ссылки, решения, другие связанные проблемы, которые были решены, любая помощь приветствуется!

Ответы [ 2 ]

0 голосов
/ 24 мая 2018

Вам необходимо определить первичный ключ , состоящий из этих двух столбцов.Таким образом, в вашей таблице может быть две или более строки с одинаковым значением в первом столбце первичного ключа, но разными значениями во втором столбце и наоборот.

Кроме того, если вы этого не сделаетеуже вы можете использовать pgAdmin , который представляет собой визуальный инструмент, который помогает вам создавать базу данных и определять таблицы, столбцы, типы данных, ограничения, первичные ключи и т. д. с простым пользовательским интерфейсом.

0 голосов
/ 24 мая 2018

индексы могут быть на нескольких столбцах

CREATE UNIQUE INDEX name ON table (tag,hub);

11.6.Уникальные индексы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...