Úvod
v PostgreSQL lze příkaz ALTER TABLE
použít k přidání, odstranění nebo úpravě tabulky. Pokud chcete přidat sloupec do tabulky, jednoduše zadejte klauzuli ADD COLUMN
v příkazu ALTER TABLE
. Pokud se však pokusíte přidat sloupec, který již existuje, dojde k chybě. Je snadné se této chybě vyhnout pomocí volby IF NOT EXISTS
s klauzulí ADD COLUMN
. Tato volba přikáže PostgreSQL Přidat nový sloupec pouze v případě, že název sloupce v tabulce neexistuje. V tomto článku se blíže podíváme na sloupec Postgres přidat, pokud neexistuje příkaz a podívejte se na některé příklady jeho použití.
Předpoklady
s cílem získat co nejvíce z tohoto kurzu, budete muset ujistěte se, že pár předpoklady jsou na místě:
- PostgreSQL musí být nainstalována na vašem počítači, takže si můžete vyzkoušet naše příklady Postgres PŘIDAT SLOUPEC, POKUD NEEXISTUJE příkaz.
- měli byste mít základní znalosti PostgreSQL, abyste mohli postupovat podle pokynů uvedených v tomto článku.
Postgres POKUD NE, EXISTUJE syntaxe
začneme s rychlý pohled na syntaxe IF NOT EXISTS
možnost v ALTER TABLE
prohlášení:
1
2 |
ALTER TABLE JMÉNO_TABULKY
PŘIDAT SLOUPEC, POKUD NE EXISTUJE jméno_sloupce |
Pojďme diskutovat o této syntaxe v trochu podrobněji:
- za Prvé, musíme určit název tabulky, do které chceme přidat sloupec.
- dodáváme
IF NOT EXISTS
možnost poADD COLUMN
klauzule, a pak jsme se určit název sloupce a jeho datový typ.
volba IF NOT EXISTS
zkontroluje, zda v tabulce existuje zadaný název sloupce. Pokud je tato možnost zavedena, nebude vrácena žádná chyba, pokud se pokusíte přidat sloupec, který již existuje.
Postgres, POKUD NEEXISTUJE příklad:
Než budeme pokračovat, pojďme vytvořit ukázkové tabulky používat v našich příkladech:
1
2 3 4 5 |
CREATE TABLE zaměstnanci(
id SERIAL PRIMARY KEY, název VARCHAR(50), POZICE VARCHAR(50) ); |
tabulku s názvem employees
je nyní vytvořena.
Přidat sloupec
nyní se pokusíme přidat do naší tabulky nový sloupec se stejným názvem sloupce jako existující sloupec. Budeme používat následující ALTER TABLE
prohlášení:
1
2 |
ALTER TABLE zaměstnanci ADD SLOUPCI název VARCHAR(50);
CHYBA: SLOUPEC „název“ vztah „zaměstnanců“ již EXISTUJE |
Toto prohlášení vrátí chybu, protože sloupci „jméno“ v employees
tabulka již existuje. Abychom se této chybě vyhnuli, můžeme použít pouze volbu IF NOT EXISTS
. Podívejme se, jak vypadá naše prohlášení s touto možností:
1
2 3 |
ALTER TABLE zaměstnanci ADD SLOUPEC POKUD NE, EXISTUJE název VARCHAR(50);
UPOZORNĚNÍ: SLOUPEC „název“ vztah „zaměstnanců“ již EXISTUJE, přeskakování ALTER TABLE |
POZNÁMKA: výše uvedené prohlášení nevrátil chybu, ale to se zobrazit zpráva s upozorněním, že sloupec se stejným názvem již existuje.
Co si myslíte, že se stane, pokud se pokusíte přidat sloupec se stejným názvem, existující sloupec, ale jiný datový typ? Pojďme zkuste to a uvidíte:
1
2 3 |
ALTER TABLE zaměstnanci ADD SLOUPEC POKUD NE, EXISTUJE název TEXTU;
UPOZORNĚNÍ: SLOUPEC „název“ vztah „zaměstnanců“ již EXISTUJE, přeskakování ALTER TABLE |
sloupec bude ještě neměly být přidávány, protože sloupec se stejným názvem již existuje.
Závěr
Když potřebujete provést změnu jednoho z vašich PostgreSQL tabulky, je snadné, aby přidat, odstranit nebo přejmenovat sloupec pomocí ALTER TABLE
prohlášení; nicméně, může dojít k chybě, pokud se pokusíte přidat sloupec, který již existuje. Možnost vyhnout se případné chyby, můžete použít IF ALREADY EXISTS
možnost po ADD COLUMN
doložky v ALTER TABLE
prohlášení. V tomto článku jsme diskutovali o Postgres přidat sloupec, pokud již existuje prohlášení a přezkoumala některé příklady, jak ji používat. S našimi příklady a podrobnými pokyny budete moci přidávat sloupce do tabulky, aniž byste narazili na chyby ve vlastní databázi PostgreSQL.