Uklonite NOT NULL ograničenje u Postgresu

Uklonite Not Null Ogranicenje U Postgresu



U relacijskim bazama podataka kao što je PostgreSQL, ograničenja su ključna u održavanju integriteta podataka i provođenju određenih pravila za stupce tablice. Jedno takvo ograničenje je ograničenje “NOT NULL”. U ovom ćemo vodiču istražiti koncept ograničenja NOT NULL i pružiti vodič korak po korak za njegovo stvaranje i uklanjanje u PostgreSQL-u.

Što je NOT NULL ograničenje?

Ograničenje NOT NULL osigurava da stupac ne može sadržavati null vrijednosti koje zahtijevaju da svaki red u tablici ima vrijednost koja nije null za taj određeni stupac.

Zahtjevi za poduku:

Da biste slijedili upute navedene u ovom postu, pretpostavljamo da imate sljedeće zahtjeve:







  1. Instaliran PostgreSQL poslužitelj na vašem računalu
  2. Osnovno poznavanje SQL-a
  3. Dopuštenje za stvaranje objekata tablice baze podataka kao što su ograničenja, funkcije itd

Primjer tablice:

Počnimo s postavljanjem uzorka tablice sa stupcima koji sadrže ograničenje koje nije null. Uzmite sljedeću naredbu za kreiranje tablice koja postavlja osnovnu tablicu koja sliči tablici wp_users u WordPressu:



STVARAJ TABLICU wp_users (
ID SERIJSKI PRIMARNI KLJUČ,
user_login VARCHAR(60) NIJE NULL,
user_pass VARCHAR(255) NIJE NULL,
user_nicename VARCHAR(50) NOT NULL,
user_email VARCHAR(100) NOT NULL,
korisnički_url VARCHAR(100),
user_registered TIMESTAMP NOT NULL DEFAULT current_timestamp,
korisnički_aktivacijski_ključ VARCHAR(255),
user_status INT NOT NULL DEFAULT 0,
display_name VARCHAR(250) NIJE NULL
);

Iz zadanog upita primijetit ćete da većina stupaca sadrži NOT NULL ograničenje.



Najučinkovitija metoda stvaranja NOT NULL ograničenja u danom stupcu je tijekom kreiranja tablice. Ovo osigurava da svi podaci koji se dodaju u tablicu poštuju pravila ograničenja.





Međutim, ako dodate ograničenje postojećoj tablici, pravila se primjenjuju samo na podatke koji su dodani nakon ograničenja, a ne na postojeće podatke. To može dovesti do nedosljednosti, posebno u velikim tablicama.

Dodajte NOT NULL ograničenje

U nekim slučajevima, možda ćete htjeti dodati NOT NULL ograničenje postojećoj tablici. Na primjer, možete koristiti naredbu ALTER TABLE nakon koje slijedi klauzula ALTER COLUMN.



Sintaksa je sljedeća:

ALTER TABLE naziv_tablice
ALTER COLUMN naziv_stupca SET NOT NULL;

Zamijenite table_name svojom ciljnom tablicom i column_name ciljnim stupcem na koji želite primijeniti ograničenje.

Provjerite ograničenje

Možete provjeriti postoji li ograničenje na danoj tablici pomoću naredbe “\d” u PSQL uslužnom programu.

\d naziv_tablice

Primjer:

sample_db=# \d wp_users;

Rezultirajući izlaz je sljedeći:

Uklonite NOT NULL ograničenje

Možda ćete također htjeti ukloniti NOT NULL ograničenje iz danog stupca. Za to možemo koristiti klauzule ALTER TABLE i ALTER COLUMN na sljedeći način:

ALTER TABLE naziv_tablice
ALTER COLUMN naziv_stupca DROP NOT NULL;

Na primjer, da bismo uklonili NOT NULL ograničenje iz stupca user_url tablice wp_users, možemo pokrenuti sljedeći upit:

ALTER TABLE wp_users ALTER COLUMN user_url DROP NOT NULL;

Ovo bi trebalo ukloniti ograničenje iz tablice.

Zaključak

Ovaj vodič je istražio kako možemo raditi s NOT NOLL ograničenjem u PostgreSQL-u. Također smo istražili kako ispustiti postojeće NOT NULL ograničenje iz danog stupca.