Jak wykonać kolumnę Postgres ADD jeśli nie istnieje

wprowadzenie

w PostgreSQL można użyć polecenia ALTER TABLE do dodania, usunięcia lub modyfikacji tabeli. Jeśli chcesz dodać kolumnę do tabeli, po prostu określ klauzulę ADD COLUMN w instrukcji ALTER TABLE. Jeśli jednak spróbujesz dodać już istniejącą kolumnę, pojawi się błąd. Łatwo jest uniknąć tego błędu, używając opcjiIF NOT EXISTS z klauzuląADD COLUMN. Ta opcja instruuje PostgreSQL, aby dodał nową kolumnę tylko wtedy, gdy nazwa kolumny nie istnieje w tabeli. W tym artykule przyjrzymy się bliżej poleceniu Postgres ADD COLUMN IF NOT EXISTS i sprawdzimy kilka przykładów jego użycia.

wymagania wstępne

aby uzyskać jak najwięcej z tego samouczka, musisz upewnić się, że kilka wymagań wstępnych jest na swoim komputerze:

  • PostgreSQL musi być zainstalowany na twoim komputerze, abyś mógł przetestować nasze przykłady polecenia Postgres ADD COLUMN IF NOT EXISTS.
  • powinieneś posiadać podstawową wiedzę na temat PostgreSQL, aby postępować zgodnie z instrukcjami zawartymi w tym artykule.

składnia Postgres jeśli nie istnieje

zaczniemy od szybkiego przyjrzenia się składni dla opcjiIF NOT EXISTS w instrukcjiALTER TABLE :

1
2
ALTER TABLE TABLE_NAME
Dodaj kolumnę, jeśli nie istnieje column_name

omówmy tę składnię nieco bardziej szczegółowo:

  • najpierw podajemy nazwę tabeli, do której chcemy dodać kolumnę.
  • podajemy opcjęIF NOT EXISTS po klauzuliADD COLUMN, a następnie podajemy nazwę kolumny i jej typ danych.

opcjaIF NOT EXISTS sprawdzi, czy podana nazwa kolumny istnieje w tabeli. Po włączeniu tej opcji nie zostanie zwrócony żaden błąd, jeśli spróbujesz dodać kolumnę, która już istnieje.

Postgres jeśli nie istnieje przykład

zanim przejdziemy dalej, stwórzmy przykładową tabelę do użycia w naszych przykładach:

1
2
3
4
5
Utwórz pracowników tabeli (
id szeregowy klucz podstawowy,
nazwa VARCHAR(50),
pozycja varchar(50)
);

tabela o nazwieemployees została utworzona.

Dodaj kolumnę

teraz spróbujmy dodać nową kolumnę do naszej tabeli o tej samej nazwie kolumny, co istniejąca kolumna. Użyjemy następującego ALTER TABLE oświadczenie:

1
2
ALTER TABLE employees add column name VARCHAR(50);
Error: Kolumna „nazwa” relacji „pracownicy”już istnieje

To polecenie zwróci błąd, ponieważ kolumna” nazwa”w tabeli employees już istnieje. Aby uniknąć tego błędu, możemy po prostu użyć opcji IF NOT EXISTS. Zobaczmy, jak wygląda nasze oświadczenie z tą opcją:

1
2
3
ALTER TABLE employees ADD COLUMN IF NOT EXISTS name VARCHAR(50);
notice: kolumna „nazwa” relacji „pracownicy” już istnieje, pomijając
Alter table

uwaga: powyższe polecenie nie zwróciło błędu, ale wyświetliło komunikat informujący, że kolumna o tej samej nazwie już istnieje.

jak myślisz, co się stanie, jeśli spróbujesz dodać kolumnę o tej samej nazwie istniejącej kolumny, ale o innym typie danych? Spróbujmy i zobaczmy:

1
2
3
ALTER TABLE employees ADD COLUMN IF NOT EXISTS name TEXT;
zawiadomienie: Kolumna „nazwa” relacji „pracownicy”już istnieje, pomijając
ALTER TABLE

kolumna nadal nie zostanie dodana, ponieważ kolumna o tej samej nazwie już istnieje.

podsumowanie

gdy musisz dokonać zmiany w jednej z tabel PostgreSQL, łatwo jest dodać, usunąć lub zmienić nazwę kolumny za pomocą poleceniaALTER TABLE; jednak może wystąpić błąd, jeśli spróbujesz dodać kolumnę, która już istnieje. Aby uniknąć potencjalnych błędów, możesz użyć opcji IF ALREADY EXISTS po klauzuli ADD COLUMN w instrukcji ALTER TABLE. W tym artykule omówiliśmy instrukcję Postgres ADD COLUMN IF ALREADY EXISTS i przejrzeliśmy kilka przykładów jej użycia. Dzięki naszym przykładom i instrukcjom krok po kroku będziesz mógł dodawać kolumny do tabeli bez napotkania błędów we własnej bazie danych PostgreSQL.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *