PostgreSQL: restricción NOT NULL

La restricción PostgreSQL Not-Null, como sugiere el nombre, se usa para garantizar que cualquier valor en la columna respectiva no sea nulo. En el mundo de la base de datos, NULL es información desconocida o faltante. El valor NULL está separado de una string vacía o del número cero. Por ejemplo, uno puede pedirle a una persona una dirección de correo electrónico, si no lo sabe, use el valor NULL para insertarlo en la columna de correo electrónico. Esto sugiere que se desconocen los datos en el momento de la inserción. En caso de que la persona no tenga una dirección de correo electrónico, se puede actualizar a una string vacía.

El valor NULL es notablemente especial. Por ejemplo, NULL no es igual a ningún otro NULL. Para comprobar si un valor es NULL o no, se puede utilizar el operador booleano o . La expresión NULL = NULL devuelve NULL. IS NULLIS NOT NULL

PostgreSQL proporciona la restricción no nula para implementar condiciones de que una columna no debe aceptar valores NULL. Significa que siempre que inserte o actualice datos, debe especificar un valor que no sea nulo.

Syntax:  variable_name Data-type NOT NULL;

Ahora veamos un ejemplo para comprender mejor el concepto de NOT NULL.

Ejemplo:
Primero, crearemos una tabla invoice con la restricción NOT NULL de la siguiente manera:

CREATE TABLE invoice(
  id serial PRIMARY KEY,
  product_id int NOT NULL,
  qty numeric NOT NULL CHECK(qty > 0),
  net_price numeric CHECK(net_price > 0) 
);

En esta etapa, primero insertaremos datos que satisfagan la restricción anterior de la siguiente manera:

INSERT INTO invoice (product_id, qty, net_price)
VALUES
    ('1', '5', 255);

Ahora comprobaremos si los datos se han insertado correctamente con el siguiente comando:

SELECT * FROM invoice;

Esto dará como resultado el siguiente resultado:

Ahora intentaremos insertar un valor NULL en la tabla de facturas como se muestra a continuación:

INSERT INTO invoice (product_id, qty, net_price)
VALUES
    ('1', NULL, 255);

Producción:

ERROR:  null value in column "qty" violates not-null constraint
DETAIL:  Failing row contains (2, 1, null, 255).

Podemos observar que la restricción NOT NULL se comporta como se esperaba.

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 *