Crear índice único usando CREATE UNIQUE INDEX en PostgreSQL

En este artículo veremos cómo crear índice único usando CREATE UNIQUE INDEX en PostgreSQL para conseguir que los valores sean únicos en una o varias columnas. Si no conoces lo que es un índice o quieres aprender a crearlo puedes leer este otro artículo.

Tabla de Contenidos ocultar

Sintaxis

La sintaxis para listar todos los índices es la siguiente:

CREATE UNIQUE INDEX index_name
ON table_name(column_name, [...]);
  • Al crear una clave primaria automáticamente se está creando un índice único.
  • Al definir una columna como única el valor no se podrá repetir en diferentes filas.
  • Al definir dos o más columnas como únicas, la combinación de valores no se podrá repetir en diferentes filas.
  • Cada valor NULL se considera distinto así que puedes tener varios nulos en diferentes filas aunque tengan un índice único.

Ejemplo

En el siguiente ejemplo se crea un índice único por la columna nombre de la tabla empleados:

CREATE UNIQUE INDEX idx_empleados_nombre
ON empleados(nombre);

En el siguiente ejemplo se crea un índice único por la columna nombre de la tabla empleados:

CREATE UNIQUE INDEX idx_empleados_id_dep_nombre
ON empleados(id_departamento, nombre);

Si intentamos realizar un insert con valores repetidos en las columnas del índice nos avisa que existe una restricción que no permite realizar el insert.

Crear índice único usando CREATE UNIQUE INDEX en PostgreSQL

Escribir un comentario

Este sitio está protegido por reCAPTCHA y se aplican la política de privacidad y los términos de servicio de Google.