Tiempo de lectura:1 Minutos, 4 Segundos

En este articulo veremos cómo crear indice ú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 indice o quieres aprender a crearlo puedes leer este otro articulo.

Tabla de Contenidos ocultar

Sintaxis

La sintaxis para listar todos los indices es la siguiente:

CREATE UNIQUE INDEX index_name
ON table_name(column_name, [...]);
  • Al crear una clave primaria automaticamente se esta creando un indice unico.
  • 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 indice único.

Ejemplo

En el siguiente ejemplo se crea un indice ú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 indice ú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 indice nos avisa que existe una restricción que no permite realizar el insert.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

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

Perfiles en Redes Sociales