PostgreSQL – Restricción ÚNICA

PostgreSQL proporciona al usuario una restricción ÚNICA que se usa para asegurarse de que los valores almacenados en una columna o un grupo de columnas sean únicos en las filas de una tabla. Cada vez que el usuario inserta una nueva fila, PostgreSQL verifica si el valor ya existe en la tabla si se usan restricciones ÚNICAS. Si descubre que el nuevo valor ya está presente, niega el cambio y emite un error. Un proceso similar se lleva a cabo para actualizar los datos existentes.

Syntax: UNIQUE(column); or variable_name Data Type UNIQUE;

Ahora veamos algunos ejemplos.

Ejemplo 1:
en este ejemplo, crearemos una nueva tabla nombrada person con una restricción ÚNICA para la email columna usando el siguiente comando:

CREATE TABLE person (
    id serial PRIMARY KEY,
    first_name VARCHAR (50),
    last_name VARCHAR (50),
    email VARCHAR (50) UNIQUE
);

Ahora insertaremos algunos datos en la tabla usando el siguiente comando:

INSERT INTO person(first_name, last_name, email)
VALUES
    (
        'Raju',
        'Kumar',
        'rajukumar@gmail.com'
    );

Ahora, si intentamos insertar el mismo correo electrónico, PostgreSQL debería generar un error. Así que hagámoslo.

INSERT INTO person(first_name, last_name, email)
VALUES
    (
        'Nikhil',
        'Aggarwal',
        'rajukumar@gmail.com'
    );

Producción:

ERROR:  duplicate key value violates unique constraint "person_email_key"
DETAIL:  Key (email)=(rajukumar@gmail.com) already exists.

Ejemplo 2:
PostgreSQL también permite a los usuarios crear una restricción ÚNICA para first_nameusar los siguientes comandos:

CREATE TABLE person (
    id SERIAL  PRIMARY KEY,
    first_name VARCHAR (50),
    last_name  VARCHAR (50),
    email      VARCHAR (50),
        UNIQUE( first_name)
);

Ahora insertaremos algunos datos en la tabla usando el siguiente comando:

INSERT INTO person(first_name, last_name, email)
VALUES
    (
        'Raju',
        'Kumar',
        'rajukumar@gmail.com'
    );

Ahora, si intentamos insertar el mismo correo electrónico, PostgreSQL debería generar un error. Así que hagámoslo.

INSERT INTO person(first_name, last_name, email)
VALUES
    (
        'Nikhil',
        'Aggarwal',
        'nikhilagg@gmail.com'
    ),
    (
        'Raju',
        'Verma',
        'rajuverma@gmail.com'
    );

Esto debería generar un error para el nombre de Raju Verma, ya que Raju Kumar ya existe.
Producción:

ERROR:  duplicate key value violates unique constraint "person_first_name_key"
DETAIL:  Key (first_name)=(Raju) already exists.

Publicación traducida automáticamente

Artículo escrito por RajuKumar19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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