Távolítsa el a NOT NULL kényszert a Postgresben

Tavolitsa El A Not Null Kenyszert A Postgresben



A relációs adatbázisokban, például a PostgreSQL-ben, a megszorítások kulcsfontosságúak az adatok integritásának megőrzésében és a táblaoszlopokra vonatkozó speciális szabályok érvényesítésében. Az egyik ilyen megszorítás a „NOT NULL” megszorítás. Ebben az oktatóanyagban megvizsgáljuk a NOT NULL megszorítás fogalmát, és lépésről lépésre nyújtunk útmutatót a létrehozásához és eltávolításához a PostgreSQL-ben.

Mi az a NOT NULL korlátozás?

A NOT NULL megszorítás biztosítja, hogy egy oszlop ne tartalmazzon olyan null értékeket, amelyek megkövetelik, hogy a táblázat minden sorában az adott oszlophoz egy nem nulla érték legyen.

Oktatási követelmények:

Az ebben a bejegyzésben található utasítások követéséhez feltételezzük, hogy a következő követelményeknek kell megfelelnie:







  1. PostgreSQL szerver telepítve a gépedre
  2. SQL alapismeretek
  3. Engedély az adatbázistábla-objektumok, például megszorítások, függvények stb. létrehozására

Példa táblázat:

Kezdjük egy mintatáblázat felállításával olyan oszlopokkal, amelyek nem null megszorítást tartalmaznak. Vegyük a következő Create table utasítást, amely beállít egy alapvető táblát, amely hasonlít a WordPress wp_users táblájára:



TÁBLÁZAT LÉTREHOZÁSA wp_users (
ID SOROZAT ELSŐDLEGES KULCS,
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 ALAPÉRTELMEZETT current_timestamp,
user_activation_key VARCHAR(255),
user_status INT NEM NULL ALAPÉRTELMEZETT 0,
megjelenítési_név VARCHAR(250) NOT NULL
);

Az adott lekérdezésből észrevehető, hogy a legtöbb oszlop NOT NULL megkötést tartalmaz.



Egy adott oszlopban a NOT NULL kényszer létrehozásának leghatékonyabb módja a táblázat létrehozása. Ez biztosítja, hogy a táblázathoz hozzáadott összes adat megfeleljen a megszorítás szabályainak.





Ha azonban megszorítást ad hozzá egy meglévő táblához, a szabályok csak a megszorítás után hozzáadott adatokra vonatkoznak, a meglévő adatokra nem. Ez következetlenségekhez vezethet, különösen nagy táblák esetén.

Adjon hozzá egy NOT NULL megkötést

Bizonyos esetekben érdemes lehet egy NOT NULL megszorítást hozzáadni egy meglévő táblához. Használhatja például az ALTER TABLE parancsot, majd az ALTER COLUMN záradékot.



A szintaxis a következő:

ALTER TABLE táblanév
ALTER COLUMN oszlopnév SET NOT NULL;

Cserélje ki a tábla_neve mezőt a céltáblázatra, az oszlopnév mezőt pedig arra a céloszlopra, amelyre alkalmazni kívánja a megszorítást.

Ellenőrizze a kényszert

A PSQL segédprogram „\d” parancsával ellenőrizheti, hogy a kényszer létezik-e egy adott táblán.

\d táblázat_neve

Példa:

minta_db=# \d wp_users;

A kapott kimenet a következő:

Távolítsa el a NOT NULL kényszert

Érdemes lehet eltávolítani a NOT NULL kényszert is egy adott oszlopból. Ehhez használhatjuk az ALTER TABLE és ALTER COLUMN záradékokat az alábbiak szerint:

ALTER TABLE táblanév
ALTER COLUMN oszlopnév DROP NOT NULL;

Például a NOT NULL kényszer eltávolításához a wp_users tábla user_url oszlopából a következő lekérdezést futtathatjuk:

ALTER TABLE wp_users ALTER COLUMN user_url DROP NOT NULL;

Ezzel el kell távolítani a korlátozást a táblázatból.

Következtetés

Ez az oktatóanyag azt vizsgálta, hogyan dolgozhatunk a NOT NOLL megkötéssel a PostgreSQL-ben. Azt is megvizsgáltuk, hogyan lehet egy meglévő NOT NULL kényszert kidobni egy adott oszlopból.