Me gustaría configurar una tabla en PostgreSQL para que dos columnas juntas sean únicas. Puede haber múltiples valores de cualquier valor, siempre que no haya dos que compartan ambos.
Por ejemplo:
CREATE TABLE someTable (
id int PRIMARY KEY AUTOINCREMENT,
col1 int NOT NULL,
col2 int NOT NULL
)
Entonces, col1
y col2
puede repetir, pero no al mismo tiempo. Entonces, esto estaría permitido (sin incluir la identificación)
1 1
1 2
2 1
2 2
pero no esto:
1 1
1 2
1 1 -- would reject this insert for violating constraints
sql
postgresql
unique
PearsonArtPhoto
fuente
fuente
Respuestas:
autoincrement
no es postgresql. Quieres unserial
.Si col1 y col2 hacen un único y no pueden ser nulos, entonces son una buena clave primaria:
fuente
Cree una restricción única de que dos números juntos NO PUEDEN repetirse juntos:
fuente
Parece una RESTRICCIÓN ÚNICA regular :)
Más aquí
fuente
a
y un índice parac
independientemente? Porque necesito encontrar rápidamente basado ena
algunas veces, y encontrar rápidamente basado enc
algunas veces.