Eliminați constrângerea NOT NULL din Postgres

Eliminati Constrangerea Not Null Din Postgres



În bazele de date relaționale, cum ar fi PostgreSQL, constrângerile sunt cruciale în menținerea integrității datelor și în aplicarea unor reguli specifice pe coloanele de tabel. O astfel de constrângere este constrângerea „NOT NULL”. În acest tutorial, vom explora conceptul de constrângere NOT NULL și vom oferi un ghid pas cu pas despre crearea și eliminarea acesteia în PostgreSQL.

Ce este o constrângere NOT NULL?

Constrângerea NOT NULL asigură că o coloană nu poate conține valori nule care necesită ca fiecare rând din tabel să aibă o valoare non-nulă pentru acea coloană anume.

Cerințe pentru tutorial:

Pentru a urma instrucțiunile furnizate în această postare, presupunem că aveți următoarele cerințe:







  1. Serverul PostgreSQL a fost instalat pe mașina dvs
  2. Cunoștințe de bază SQL
  3. Permisiunea de a crea obiecte din tabelul bazei de date, cum ar fi constrângeri, funcții etc

Exemplu de tabel:

Să începem prin a configura un exemplu de tabel cu coloane care conțin o constrângere nu nulă. Luați următoarea declarație create table care creează un tabel de bază care seamănă cu tabelul wp_users din WordPress:



CREATE TABLE wp_users (
ID SERIAL CHEIE PRIMARĂ,
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,
user_activation_key VARCHAR(255),
user_status INT NOT NULL DEFAULT 0,
display_name VARCHAR(250) NOT NULL
);

Din interogarea dată, veți observa că majoritatea coloanelor conțin o constrângere NOT NULL.



Cea mai eficientă metodă de a crea o constrângere NOT NULL într-o coloană dată este în timpul creării tabelului. Acest lucru asigură că toate datele care sunt adăugate în tabel respectă regulile constrângerii.





Cu toate acestea, dacă adăugați o constrângere la un tabel existent, regulile se aplică numai datelor care sunt adăugate după constrângere și nu oricăror date existente. Acest lucru poate duce la inconsecvențe, în special în tabelele mari.

Adăugați o constrângere NOT NULL

În unele cazuri, poate doriți să adăugați o constrângere NOT NULL la un tabel existent. De exemplu, puteți utiliza comanda ALTER TABLE urmată de clauza ALTER COLUMN.



Sintaxa este următoarea:

ALTER TABLE nume_tabel
ALTER COLUMN nume_coloană SET NOT NULL;

Înlocuiți table_name cu tabelul dvs. țintă și column_name cu coloana țintă la care doriți să aplicați constrângerea.

Verificați constrângerea

Puteți verifica dacă constrângerea există pe un tabel dat folosind comanda „\d” din utilitarul PSQL.

\d nume_tabel

Exemplu:

sample_db=# \d wp_users;

Rezultatul rezultat este după cum urmează:

Eliminați constrângerea NOT NULL

De asemenea, poate doriți să eliminați constrângerea NOT NULL dintr-o coloană dată. Pentru aceasta, putem folosi clauzele ALTER TABLE și ALTER COLUMN după cum urmează:

ALTER TABLE nume_tabel
ALTER COLUMN nume_coloană DROP NOT NULL;

De exemplu, pentru a elimina constrângerea NOT NULL din coloana user_url a tabelului wp_users, putem rula următoarea interogare:

ALTER TABLE wp_users ALTER COLUMN user_url DROP NOT NULL;

Acest lucru ar trebui să elimine constrângerea din tabel.

Concluzie

Acest tutorial a explorat cum putem lucra cu constrângerea NOT NOLL în PostgreSQL. De asemenea, am explorat cum să renunțăm la o constrângere NOT NULL existentă dintr-o coloană dată.