Sobes.tech
Senior

¿Cómo agregar una restricción de unicidad en PostgreSQL en la combinación de dos columnas, donde los valores por separado pueden repetirse, pero las parejas no?

sobes.tech AI

Respuesta de la IA

En PostgreSQL, para garantizar la unicidad de la combinación de valores de dos columnas, se utiliza la restricción UNIQUE en ese par de columnas. Esto asegura que cada par de valores sea único, incluso si los valores individuales en las columnas pueden repetirse.

Ejemplo de consulta SQL:

ALTER TABLE tu_nombre_de_tabla
ADD CONSTRAINT unique_col1_col2 UNIQUE (columna1, columna2);

Si la tabla se crea desde cero, se puede especificar la restricción de inmediato:

CREATE TABLE tu_nombre_de_tabla (
    id SERIAL PRIMARY KEY,
    columna1 TIPO,
    columna2 TIPO,
    -- otras columnas
    CONSTRAINT unique_col1_col2 UNIQUE (columna1, columna2)
);

De esta manera, la base de datos no permitirá insertar filas con una combinación repetida de valores en estas dos columnas.