Я хотел бы настроить таблицу в PostgreSQL так, чтобы два столбца вместе были уникальными. Может быть несколько значений любого значения, при условии, что нет двух, которые совместно используют оба.
Например:
CREATE TABLE someTable (
id int PRIMARY KEY AUTOINCREMENT,
col1 int NOT NULL,
col2 int NOT NULL
)
Так col1
и col2
можно повторить, но не одновременно. Таким образом, это будет разрешено (не включая идентификатор)
1 1
1 2
2 1
2 2
но не это
1 1
1 2
1 1 -- would reject this insert for violating constraints
sql
postgresql
unique
PearsonArtPhoto
источник
источник
Ответы:
autoincrement
это не postgresql. Вы хотитеserial
.Если col1 и col2 делают уникальный и не может быть нулем, то они делают хороший первичный ключ:
источник
Создайте уникальное ограничение, чтобы два числа вместе НЕ МОГУТ повторяться:
источник
Похоже на обычную УНИКАЛЬНУЮ ОГРАНИЧЕННОСТЬ :)
Больше здесь
источник
a
и индекс дляc
независимо? Потому что мне нужно быстро найти на основеa
иногда, и быстро найти на основеc
иногда.