Hogyan kell végrehajtani a Postgres ADD oszlopot, ha nem létezik

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 COLUMNzá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 EXISTSopció 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 a ADD 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 COLUMNALTER 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.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük