Fjern NOT NULL-begrænsningen i Postgres

Fjern Not Null Begraensningen I Postgres



I relationelle databaser som PostgreSQL er begrænsninger afgørende for at opretholde dataintegriteten og håndhæve specifikke regler på tabelkolonner. En sådan begrænsning er 'NOT NULL' begrænsningen. I denne tutorial vil vi udforske konceptet med NOT NULL-begrænsningen og give en trin-for-trin guide til at oprette og fjerne den i PostgreSQL.

Hvad er en NOT NULL-begrænsning?

NOT NULL-begrænsningen sikrer, at en kolonne ikke kan indeholde null-værdier, som kræver, at hver række i tabellen har en ikke-null-værdi for den pågældende kolonne.

Selvstudiekrav:

For at følge instruktionerne, der er givet i dette indlæg, antager vi, at du har følgende krav:







  1. Installeret PostgreSQL-server på din maskine
  2. Grundlæggende SQL viden
  3. Tilladelse til at oprette databasetabelobjekter såsom begrænsninger, funktioner osv

Eksempeltabel:

Lad os starte med at opsætte en eksempeltabel med kolonner, der indeholder en ikke null-begrænsning. Tag følgende opret tabelsætning, der opsætter en grundlæggende tabel, der ligner wp_users-tabellen i WordPress:



OPRET TABEL wp_users (
ID SERIEPRIMÆR NØGLE,
user_login VARCHAR(60) IKKE NULL,
user_pass VARCHAR(255) NOT NULL,
user_nicename VARCHAR(50) IKKE NULL,
user_email VARCHAR(100) IKKE NULL,
bruger_url VARCHAR(100),
user_registred TIMESTAMP IKKE NULL DEFAULT current_timestamp,
user_activation_key VARCHAR(255),
user_status INT IKKE NULL DEFAULT 0,
display_name VARCHAR(250) IKKE NULL
);

Fra den givne forespørgsel vil du bemærke, at de fleste kolonner indeholder en NOT NULL-begrænsning.



Den mest effektive metode til at oprette en NOT NULL-begrænsning i en given kolonne er under oprettelsen af ​​tabellen. Dette sikrer, at alle de data, der tilføjes til tabellen, overholder reglerne for begrænsningen.





Men hvis du tilføjer en begrænsning til en eksisterende tabel, gælder reglerne kun for de data, der tilføjes efter begrænsningen og ikke for eksisterende data. Dette kan føre til uoverensstemmelser, især i store borde.

Tilføj en NOT NULL-begrænsning

I nogle tilfælde vil du måske tilføje en NOT NULL-begrænsning til en eksisterende tabel. For eksempel kan du bruge kommandoen ALTER TABLE efterfulgt af ALTER COLUMN-udtrykket.



Syntaksen er som følger:

ALTER TABLE tabelnavn
ALTER COLUMN column_name SET NOT NULL;

Erstat tabelnavnet med din måltabel og kolonnenavnet med den målkolonne, som du vil anvende begrænsningen på.

Bekræft begrænsningen

Du kan kontrollere, at begrænsningen findes på en given tabel ved hjælp af kommandoen '\d' i PSQL-værktøjet.

\d tabelnavn

Eksempel:

sample_db=# \d wp_brugere;

Det resulterende output er som følger:

Fjern NOT NULL-begrænsningen

Du vil måske også fjerne NOT NULL-begrænsningen fra en given kolonne. Til det kan vi bruge ALTER TABLE- og ALTER COLUMN-sætningerne som følger:

ALTER TABLE tabelnavn
ALTER COLUMN column_name DROP IKKE NULL;

For at fjerne NOT NULL-begrænsningen fra kolonnen user_url i tabellen wp_users kan vi for eksempel køre følgende forespørgsel:

ALTER TABLE wp_users ALTER COLUMN user_url DROP IKKE NULL;

Dette burde fjerne begrænsningen fra tabellen.

Konklusion

Denne tutorial undersøgte, hvordan vi kan arbejde med NOT NOLL-begrænsningen i PostgreSQL. Vi undersøgte også, hvordan man fjerner en eksisterende NOT NULL-begrænsning fra en given kolonne.