Alisin ang NOT NULL Constraint sa Postgres

Alisin Ang Not Null Constraint Sa Postgres



Sa mga relational database tulad ng PostgreSQL, ang mga hadlang ay mahalaga sa pagpapanatili ng integridad ng data at pagpapatupad ng mga partikular na panuntunan sa mga column ng talahanayan. Ang isa sa mga hadlang ay ang hadlang na 'NOT NULL'. Sa tutorial na ito, tutuklasin natin ang konsepto ng NOT NULL constraint at magbibigay ng step-by-step na gabay sa paggawa at pag-alis nito sa PostgreSQL.

Ano ang NOT NULL Constraint?

Tinitiyak ng NOT NULL constraint na ang isang column ay hindi maaaring maglaman ng mga null value na nangangailangan ng bawat row sa table na magkaroon ng non-null na value para sa partikular na column na iyon.

Mga Kinakailangan sa Tutorial:

Upang sundin kasama ang mga tagubilin na ibinigay sa post na ito, ipinapalagay namin na mayroon ka ng mga sumusunod na kinakailangan:







  1. Naka-install na PostgreSQL server sa iyong makina
  2. Pangunahing kaalaman sa SQL
  3. Pahintulot na lumikha ng mga bagay sa talahanayan ng database tulad ng mga hadlang, mga function, atbp

Halimbawang Talahanayan:

Magsimula tayo sa pamamagitan ng pag-set up ng sample na talahanayan na may mga column na naglalaman ng hindi null na hadlang. Kunin ang sumusunod na create table statement na nagse-set up ng basic table na kahawig ng wp_users table sa WordPress:



GUMAWA NG TALAAN 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 NOT NULL DEFAULT 0,
display_name VARCHAR(250) NOT NULL
);

Mula sa ibinigay na query, mapapansin mo na karamihan sa mga column ay naglalaman ng NOT NULL constraint.



Ang pinakamabisang paraan ng paglikha ng NOT NULL constraint sa isang naibigay na column ay sa panahon ng paggawa ng table. Tinitiyak nito na ang lahat ng data na idinagdag sa talahanayan ay sumusunod sa mga patakaran ng pagpilit.





Gayunpaman, kung magdaragdag ka ng isang hadlang sa isang umiiral na talahanayan, ang mga panuntunan ay nalalapat lamang sa data na idinagdag pagkatapos ng hadlang at hindi sa anumang umiiral na data. Maaari itong humantong sa mga hindi pagkakapare-pareho, lalo na sa malalaking talahanayan.

Magdagdag ng NOT NULL Constraint

Sa ilang mga kaso, maaaring gusto mong magdagdag ng NOT NULL constraint sa isang umiiral na talahanayan. Halimbawa, maaari mong gamitin ang ALTER TABLE na utos na sinusundan ng ALTER COLUMN clause.



Ang syntax ay ang mga sumusunod:

ALTER TABLE table_name
ALTER COLUMN column_name SET NOT NULL;

Palitan ang table_name ng iyong target na talahanayan at ang column_name ng target na column kung saan mo gustong ilapat ang hadlang.

I-verify ang Constraint

Maaari mong i-verify na ang hadlang ay umiiral sa isang ibinigay na talahanayan gamit ang '\d' na utos sa PSQL utility.

\d table_name

Halimbawa:

sample_db=# \d wp_users;

Ang resultang output ay ang mga sumusunod:

Alisin ang NOT NULL Constraint

Baka gusto mo ring tanggalin ang NOT NULL constraint mula sa isang naibigay na column. Para diyan, maaari nating gamitin ang ALTER TABLE at ALTER COLUMN clause gaya ng sumusunod:

ALTER TABLE table_name
ALTER COLUMN column_name DROP NOT NULL;

Halimbawa, upang alisin ang NOT NULL constraint mula sa user_url column ng wp_users table, maaari naming patakbuhin ang sumusunod na query:

ALTER TABLE wp_users ALTER COLUMN user_url DROP NOT NULL;

Dapat nitong i-drop ang pagpilit mula sa talahanayan.

Konklusyon

Ginalugad ng tutorial na ito kung paano tayo makakagawa sa NOT NOLL constraint sa PostgreSQL. Ginalugad din namin kung paano mag-drop ng isang umiiral na NOT NULL constraint mula sa isang naibigay na column.