Poista NOT NULL -rajoitus Postgresista

Poista Not Null Rajoitus Postgresista



Relaatiotietokannoissa, kuten PostgreSQL, rajoitukset ovat ratkaisevan tärkeitä tietojen eheyden ylläpitämisessä ja erityisten sääntöjen täytäntöönpanossa taulukon sarakkeissa. Yksi tällainen rajoitus on 'NOT NULL' -rajoite. Tässä opetusohjelmassa tutkimme NOT NULL -rajoitteen käsitettä ja annamme vaiheittaisen oppaan sen luomiseen ja poistamiseen PostgreSQL:ssä.

Mikä on NOT NULL -rajoitus?

NOT NULL -rajoite varmistaa, että sarake ei voi sisältää nolla-arvoja, jotka edellyttävät, että jokaisella taulukon rivillä on ei-nolla-arvo kyseiselle sarakkeelle.

Opetusohjelman vaatimukset:

Noudattaaksesi tässä viestissä annettuja ohjeita, oletamme, että sinulla on seuraavat vaatimukset:





  1. PostgreSQL-palvelin asennettu koneellesi
  2. SQL:n perustiedot
  3. Oikeus luoda tietokantataulukkoobjekteja, kuten rajoitteita, toimintoja jne

Esimerkkitaulukko:

Aloitetaan asettamalla esimerkkitaulukko, jossa on sarakkeita, jotka sisältävät ei-nolla-rajoitteen. Ota seuraava taulukon luontilauseke, joka määrittää perustaulukon, joka muistuttaa WordPressin wp_users-taulukkoa:



LUO TAULUKO 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 EI NULL OLETUS nykyinen_aikaleima,
user_activation_key VARCHAR(255),
user_status INT EI NULL OLETUS 0,
näyttönimi VARCHAR(250) NOT NULL
);

Annetusta kyselystä huomaat, että useimmat sarakkeet sisältävät NOT NULL -rajoitteen.



Tehokkain tapa luoda NOT NULL -rajoitus tiettyyn sarakkeeseen on taulukon luomisen aikana. Tämä varmistaa, että kaikki taulukkoon lisättävät tiedot noudattavat rajoituksen sääntöjä.





Jos kuitenkin lisäät rajoitteen olemassa olevaan taulukkoon, säännöt koskevat vain rajoituksen jälkeen lisättyjä tietoja, eivät olemassa olevia tietoja. Tämä voi johtaa epäjohdonmukaisuuksiin, etenkin suurissa taulukoissa.

Lisää NOT NULL -rajoitus

Joissakin tapauksissa saatat haluta lisätä NOT NULL -rajoitteen olemassa olevaan taulukkoon. Voit esimerkiksi käyttää ALTER TABLE -komentoa ja sen jälkeen ALTER COLUMN -lausetta.



Syntaksi on seuraava:

ALTER TABLE taulukon_nimi
ALTER COLUMN sarakkeen_nimi SET NOT NULL;

Korvaa taulukon_nimi kohdetaulukollasi ja sarakkeen_nimi kohdesarakkeella, johon haluat soveltaa rajoitusta.

Tarkista rajoitus

Voit varmistaa, että rajoitus on olemassa tietyssä taulukossa käyttämällä PSQL-apuohjelman \d-komentoa.

\d taulukon_nimi

Esimerkki:

sample_db=# \d wp_users;

Tuloksena oleva tulos on seuraava:

Poista NOT NULL -rajoitus

Voit myös haluta poistaa NOT NULL -rajoitteen tietystä sarakkeesta. Tätä varten voimme käyttää ALTER TABLE- ja ALTER COLUMN -lauseita seuraavasti:

ALTER TABLE taulukon_nimi
ALTER COLUMN sarakkeen_nimi DROP NOT NULL;

Esimerkiksi NOT NULL -rajoitteen poistamiseksi wp_users-taulukon user_url-sarakkeesta voimme suorittaa seuraavan kyselyn:

ALTER TABLE wp_users ALTER COLUMN user_url DROP NOT NULL;

Tämän pitäisi poistaa rajoitus taulukosta.

Johtopäätös

Tässä opetusohjelmassa tutkittiin, kuinka voimme työskennellä PostgreSQL:n NOT NOLL -rajoitteen kanssa. Tutkimme myös, kuinka olemassa oleva NOT NULL -rajoitus voidaan pudottaa tietystä sarakkeesta.