Elimineu la restricció NOT NULL a Postgres

Elimineu La Restriccio Not Null A Postgres



A les bases de dades relacionals com PostgreSQL, les restriccions són crucials per mantenir la integritat de les dades i fer complir regles específiques a les columnes de la taula. Una d'aquestes restriccions és la restricció 'NOT NULL'. En aquest tutorial, explorarem el concepte de la restricció NOT NULL i proporcionarem una guia pas a pas per crear-la i eliminar-la a PostgreSQL.

Què és una restricció NOT NULL?

La restricció NOT NULL garanteix que una columna no pot contenir valors nuls que requereixen que cada fila de la taula tingui un valor no nul per a aquesta columna en particular.

Requisits del tutorial:

Per seguir les instruccions que es proporcionen en aquesta publicació, suposem que teniu els requisits següents:







  1. Servidor PostgreSQL instal·lat a la vostra màquina
  2. Coneixements bàsics de SQL
  3. Permís per crear els objectes de la taula de la base de dades com ara restriccions, funcions, etc

Taula d'exemple:

Comencem configurant una taula de mostra amb columnes que continguin una restricció no nul·la. Preneu la següent declaració de creació de taula que configura una taula bàsica que s'assembla a la taula wp_users de WordPress:



CREA LA TAULA wp_users (
ID CLAU PRIMÀRIA DE SÈRIE,
user_login VARCHAR(60) NOT NULL,
user_pass VARCHAR(255) NOT NULL,
user_nicename VARCHAR(50) NOT NULL,
user_email VARCHAR(100) NOT NULL,
user_url VARCHAR(100),
user_registered TIMESTAMP NOT NULL DEFAULT actual_timestamp,
clau d'activació_usuari VARCHAR(255),
user_status INT NOT NULL DEFAULT 0,
nom_visualitzador VARCHAR(250) NOT NULL
);

A partir de la consulta donada, notareu que la majoria de columnes contenen una restricció NOT NULL.



El mètode més eficient per crear una restricció NOT NULL en una columna determinada és durant la creació de la taula. Això garanteix que totes les dades que s'afegeixen a la taula compleixen les regles de la restricció.





Tanmateix, si afegiu una restricció a una taula existent, les regles només s'apliquen a les dades que s'afegeixen després de la restricció i no a les dades existents. Això pot provocar inconsistències, especialment en taules grans.

Afegiu una restricció NOT NULL

En alguns casos, és possible que vulgueu afegir una restricció NOT NULL a una taula existent. Per exemple, podeu utilitzar l'ordre ALTER TABLE seguida de la clàusula ALTER COLUMN.



La sintaxi és la següent:

ALTER TABLE nom_taula
ALTER COLUMN nom_columna SET NOT NULL;

Substituïu el nom_taula per la vostra taula de destinació i el nom_columna per la columna de destinació a la qual voleu aplicar la restricció.

Verifiqueu la restricció

Podeu verificar que la restricció existeix en una taula determinada mitjançant l'ordre '\d' de la utilitat PSQL.

\d nom_taula

Exemple:

sample_db=# \d wp_users;

La sortida resultant és la següent:

Elimineu la restricció NOT NULL

També és possible que vulgueu eliminar la restricció NOT NULL d'una columna determinada. Per això, podem utilitzar les clàusules ALTER TABLE i ALTER COLUMN de la següent manera:

ALTER TABLE nom_taula
ALTER COLUMN nom_columna DROP NOT NULL;

Per exemple, per eliminar la restricció NOT NULL de la columna user_url de la taula wp_users, podem executar la consulta següent:

ALTER TABLE wp_users ALTER COLUMN user_url DROP NOT NULL;

Això hauria d'eliminar la restricció de la taula.

Conclusió

Aquest tutorial va explorar com podem treballar amb la restricció NOT NOLL a PostgreSQL. També vam explorar com eliminar una restricció NOT NULL existent d'una columna determinada.