Bevezetés
A PostgreSQL-ben aALTER TABLE
utasítás használható a táblázat hozzáadásához, törléséhez vagy módosításához. Ha oszlopot szeretne hozzáadni egy táblázathoz, egyszerűen adja meg a ADD COLUMN
záradékot a ALTER TABLE
nyilatkozatban. Azonban hibát fog tapasztalni, ha megpróbál hozzáadni egy már létező oszlopot. Ezt a hibát könnyű elkerülni a IF NOT EXISTS
opció használatával a ADD COLUMN
záradékkal. Ez az opció utasítja PostgreSQL hozzá az új oszlop csak akkor, ha az oszlop neve nem létezik a táblázatban. Ebben a cikkben, akkor egy közelebbi pillantást a Postgres ADD oszlop, ha nem létezik parancs, és nézd meg néhány példát annak használatát.
előfeltételek
annak érdekében, hogy a legtöbbet hozza ki ebből a bemutatóból, meg kell győződnie arról, hogy néhány előfeltétel van érvényben:
- PostgreSQL-t telepíteni kell a számítógépére, hogy kipróbálhassa a Postgres add oszlop példáit, ha nem létezik parancs.
- a PostgreSQL alapvető ismereteivel kell rendelkeznie ahhoz, hogy kövesse az ebben a cikkben található utasításokat.
a Postgres ha nem létezik szintaxis
kezdjük egy gyors pillantást a szintaxis a IF NOT EXISTS
opciót egy ALTER TABLE
nyilatkozat:
1
2 |
oszlop hozzáadása ha nincs column_name
|
részletesebben tárgyaljuk ezt a szintaxist:
- először megadjuk annak a táblázatnak a nevét, amelyhez oszlopot szeretnénk hozzáadni.
- a
IF NOT EXISTS
opciót aADD COLUMN
záradék után adjuk meg, majd megadjuk az oszlop nevét és annak adattípusát.
a IF NOT EXISTS
opció ellenőrzi, hogy a megadott oszlopnév létezik-e a táblázatban. Ezzel az opcióval a helyén nincs hiba, ha megpróbál hozzáadni egy már létező oszlopot.
Postgres, HA NEM LÉTEZIK példa
Mielőtt folytatnánk, hozzunk létre egy minta táblázat használni a példák:
1
2 3 4 5 |
CREATE TABLE alkalmazottak(
azonosító ELSŐDLEGES KULCS, name VARCHAR(50), HELYZETBEN VARCHAR(50) ); |
aemployees
nevű táblázat most jön létre.
add oszlop
most próbáljunk új oszlopot hozzáadni a táblázatunkhoz ugyanazzal az oszlopnévvel,mint egy meglévő oszlop. A következő ALTER TABLE
nyilatkozat:
1
2 td> |
Alter Table alkalmazottak hozzá oszlop neve Varchar(50);
hiba: Az “alkalmazottak” reláció “név” oszlopa már létezik |
Ez a kijelentés hibát fog visszaadni, mivel aemployees
táblázat már létezik. A hiba elkerülése érdekében csak a IF NOT EXISTS
opciót használhatjuk. Lássuk, hogy néz ki a nyilatkozatunk ezzel a lehetőséggel:
1
2 3 |
ALTER TABLE alkalmazottak FELVÉTELE OSZLOP HA NEM LÉTEZIK, name VARCHAR(50);
MEGJEGYZÉS: OSZLOP “név” kapcsolat “alkalmazottak” már LÉTEZIK, kihagyom ALTER TABLE |
MEGJEGYZÉS: A fenti nyilatkozat nem jött vissza egy hibaüzenet, de megjelenik egy üzenet figyelmezteti, hogy egy oszlop ugyanazzal a névvel már létezik.
mit gondol, mi fog történni, ha megpróbál hozzáadni egy oszlopot egy meglévő oszlop azonos nevével, de más adattípussal? Próbáljuk ki, és nézzük meg:
1
2 3 |
szöveg;
értesítés: Az “alkalmazottak” reláció “név” oszlopa már létezik, kihagyva a ALTER TABLE |
az oszlop továbbra sem kerül hozzáadásra, mert egy azonos nevű oszlop már létezik.
következtetés
ha módosítania kell az egyik PostgreSQL táblán, könnyű hozzáadni, törölni vagy átnevezni egy oszlopot a ALTER TABLE
utasítás használatával; hiba léphet fel, ha megpróbál hozzáadni egy már létező oszlopot. A lehetséges hibák elkerülése érdekében aIF ALREADY EXISTS
opciót aADD COLUMN
ALTER TABLE
utasítás után használhatja. Ebben a cikkben megvitattuk a Postgres ADD oszlopot, ha már létezik nyilatkozat, valamint áttekintettük néhány példát, hogyan kell használni. A példákkal, lépésről-lépésre, akkor képes lesz arra, hogy adjunk oszlopokat a táblázatban anélkül, hogy hibákat a saját PostgreSQL adatbázis.