A la hora de crear una tabla podemos especificar diferentes restricciones. La restricción NOT NULL en PostgreSQL evalúa si una columna contiene nulos o no. Cuando se inserte o actualice un dato, comprobará si la columna permite nulos y sino es así nos devolverá un fallo.
Sintaxis
Para establecer una restricción NOT NULL al crear una tabla utiliza la siguiente sintaxis:
CREATE TABLE nombreTabla (
campo1 tipoDato ,
campo2n tipoDato NOT NULL
);
Lenguaje del código: PHP (php)
Si la tabla ya existe debes utilizar ALTER para modificarla y agregar la restricción NOT NULL:
ALTER TABLE nombreTabla
ALTER COLUMN campo1 SET NOT NULL;
Lenguaje del código: PHP (php)
Si necesitas asignar la restricción NOT NULL a más de un campo separados por comas:
ALTER TABLE nombreTabla
ALTER COLUMN campo1 SET NOT NULL,
ALTER COLUMN campo2 SET NOT NULL,
...;
Lenguaje del código: PHP (php)
Si la columna ya contiene valores nulos no podrás asignarle esta restricción. Debes actualizar todos los registros con cualquier valor antes de aplicarle la restricción.
Ejemplo
En el siguiente ejemplo especificamos que la columna sueldo de la tabla empleados no sea nula cuando creamos la tabla:
create table empleados
(
id_empleado numeric(2,0),
sueldo integer NOT NULL
);
Lenguaje del código: PHP (php)