Odstráňte obmedzenie NOT NULL v Postgres

Odstrante Obmedzenie Not Null V Postgres



V relačných databázach, ako je PostgreSQL, sú obmedzenia rozhodujúce pri udržiavaní integrity údajov a presadzovaní špecifických pravidiel pre stĺpce tabuľky. Jedným z takýchto obmedzení je obmedzenie „NOT NULL“. V tomto návode preskúmame koncept obmedzenia NOT NULL a poskytneme podrobného sprievodcu jeho vytvorením a odstránením v PostgreSQL.

Čo je obmedzenie NOT NULL?

Obmedzenie NOT NULL zaisťuje, že stĺpec nemôže obsahovať hodnoty null, ktoré vyžadujú, aby každý riadok v tabuľke mal pre daný stĺpec hodnotu, ktorá nie je nulová.

Požiadavky na návod:

Ak chcete postupovať podľa pokynov uvedených v tomto príspevku, predpokladáme, že máte nasledujúce požiadavky:







  1. Na vašom počítači je nainštalovaný server PostgreSQL
  2. Základné znalosti SQL
  3. Povolenie na vytváranie objektov databázovej tabuľky, ako sú obmedzenia, funkcie atď

Príklad tabuľky:

Začnime nastavením vzorovej tabuľky so stĺpcami, ktoré obsahujú nenulové obmedzenie. Použite nasledujúci príkaz na vytvorenie tabuľky, ktorý nastaví základnú tabuľku, ktorá sa podobá tabuľke wp_users vo WordPress:



CREATE TABLE wp_users (
ID SÉRIOVÝ PRIMÁRNY KĽÚČ,
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 NOT NULL DEFAULT 0,
display_name VARCHAR(250) NOT NULL
);

Z daného dotazu si všimnete, že väčšina stĺpcov obsahuje obmedzenie NOT NULL.



Najefektívnejšia metóda vytvorenia obmedzenia NOT NULL v danom stĺpci je počas vytvárania tabuľky. Tým sa zabezpečí, že všetky údaje, ktoré sa pridajú do tabuľky, budú spĺňať pravidlá obmedzenia.





Ak však pridáte obmedzenie do existujúcej tabuľky, pravidlá sa vzťahujú len na údaje, ktoré sa pridajú za obmedzenie, a nie na žiadne existujúce údaje. To môže viesť k nezrovnalostiam, najmä vo veľkých tabuľkách.

Pridajte obmedzenie NOT NULL

V niektorých prípadoch možno budete chcieť pridať obmedzenie NOT NULL do existujúcej tabuľky. Môžete napríklad použiť príkaz ALTER TABLE, za ktorým nasleduje klauzula ALTER COLUMN.



Syntax je nasledovná:

ALTER TABLE názov_tabuľky
ALTER COLUMN názov_stĺpca SET NOT NULL;

Nahraďte table_name svojou cieľovou tabuľkou a column_name cieľovým stĺpcom, na ktorý chcete použiť obmedzenie.

Overte obmedzenie

Pomocou príkazu „\d“ v utilite PSQL môžete overiť, či obmedzenie existuje v danej tabuľke.

\d názov_tabuľky

Príklad:

sample_db=# \d wp_users;

Výsledný výstup je nasledovný:

Odstráňte obmedzenie NOT NULL

Možno budete chcieť z daného stĺpca odstrániť aj obmedzenie NOT NULL. Na tento účel môžeme použiť klauzuly ALTER TABLE a ALTER COLUMN takto:

ALTER TABLE názov_tabuľky
ALTER COLUMN názov_stĺpca DROP NOT NULL;

Ak chcete napríklad odstrániť obmedzenie NOT NULL zo stĺpca user_url tabuľky wp_users, môžeme spustiť nasledujúci dotaz:

ALTER TABLE wp_users ALTER COLUMN user_url DROP NOT NULL;

Toto by malo zhodiť obmedzenie zo stola.

Záver

Tento tutoriál skúmal, ako môžeme pracovať s obmedzením NOT NOLL v PostgreSQL. Preskúmali sme tiež, ako z daného stĺpca odstrániť existujúce obmedzenie NOT NULL.