Eemaldage Postgresis piirang NOT NULL

Eemaldage Postgresis Piirang Not Null



Relatsiooniandmebaasides, nagu PostgreSQL, on piirangud otsustava tähtsusega andmete terviklikkuse säilitamisel ja tabeli veergude konkreetsete reeglite jõustamisel. Üks selline piirang on 'NOT NULL' piirang. Selles õpetuses uurime piirangu NOT NULL kontseptsiooni ja anname samm-sammult juhendi selle loomise ja eemaldamise kohta PostgreSQL-is.

Mis on NOT NULL piirang?

Piirang NOT NULL tagab, et veerg ei saa sisaldada nullväärtusi, mis nõuavad, et tabeli igal real oleks selle konkreetse veeru jaoks nullväärtus.

Nõuded õpetusele:

Selles postituses esitatud juhiste järgimiseks eeldame, et teil on järgmised nõuded.







  1. Installitud teie arvutisse PostgreSQL-server
  2. SQL algteadmised
  3. Luba luua andmebaasi tabeliobjekte, nagu piirangud, funktsioonid jne

Näitetabel:

Alustuseks seadistame näidistabeli veergudega, mis sisaldavad mitte nullpiirangut. Kasutage järgmist tabeli loomise avaldust, mis loob põhitabeli, mis sarnaneb WordPressi tabeliga wp_users:



LOO TABEL wp_users (
ID SERIAL PRIMARY KEY,
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 current_timestamp,
user_activation_key VARCHAR(255),
user_status INT EI OLE NULL VAIKESEKÜÜS 0,
kuva_nimi VARCHAR(250) NOT NULL
);

Antud päringust märkate, et enamik veerge sisaldab piirangut NOT NULL.



Kõige tõhusam meetod NOT NULL piirangu loomiseks antud veerus on tabeli loomise ajal. See tagab, et kõik tabelisse lisatavad andmed vastavad piirangu reeglitele.





Kui aga lisate piirangu olemasolevale tabelile, kehtivad reeglid ainult andmetele, mis lisatakse pärast piirangut, mitte aga olemasolevatele andmetele. See võib põhjustada ebakõlasid, eriti suurte tabelite puhul.

Lisage NOT NULL piirang

Mõnel juhul võite soovida lisada olemasolevale tabelile piirangu NOT NULL. Näiteks võite kasutada käsku ALTER TABLE, millele järgneb klausel ALTER COLUMN.



Süntaks on järgmine:

ALTER TABLE tabeli_nimi
ALTER COLUMN veeru_nimi SET NOT NULL;

Asendage tabeli_nimi sihttabeliga ja veeru_nimi sihtveeruga, millele soovite piirangu rakendada.

Kontrollige piirangut

Saate kontrollida, kas piirang on antud tabelis olemas, kasutades PSQL-utiliidi käsku '\d'.

\d tabeli_nimi

Näide:

sample_db=# \d wp_users;

Saadud väljund on järgmine:

Eemaldage piirang NOT NULL

Samuti võite soovitud veerust eemaldada piirangu NOT NULL. Selleks saame kasutada klausleid ALTER TABLE ja ALTER COLUMN järgmiselt:

ALTER TABLE tabeli_nimi
ALTER COLUMN veeru_nimi DROP NOT NULL;

Näiteks piirangu NOT NULL eemaldamiseks tabeli wp_users veerust user_url saame käivitada järgmise päringu:

ALTER TABLE wp_users ALTER COLUMN user_url DROP NOT NULL;

See peaks piirangu tabelist kaotama.

Järeldus

Selles õpetuses uuriti, kuidas saame töötada PostgreSQL-i piiranguga NOT NOLL. Samuti uurisime, kuidas olemasolevast NOT NULL-piirangust antud veerust loobuda.