Come eseguire la COLONNA Postgres ADD SE NON ESISTE

Introduzione

In PostgreSQL, l’istruzione ALTER TABLE può essere utilizzata per aggiungere, eliminare o modificare la tabella. Se si desidera aggiungere una colonna a una tabella, è sufficiente specificare la clausolaADD COLUMN nell’istruzioneALTER TABLE. Tuttavia, si verificherà un errore se si tenta di aggiungere una colonna già esistente. È facile evitare questo errore utilizzando l’opzioneIF NOT EXISTS con la clausolaADD COLUMN. Questa opzione indica a PostgreSQL di aggiungere la nuova colonna solo se il nome della colonna non esiste nella tabella. In questo articolo, daremo un’occhiata più da vicino al comando Postgres ADD COLUMN IF NOT EXISTS e verificheremo alcuni esempi del suo utilizzo.

Prerequisiti

Per ottenere il massimo da questo tutorial, è necessario assicurarsi che siano presenti un paio di prerequisiti:

  • PostgreSQL deve essere installato sul computer in modo da poter testare i nostri esempi del comando Postgres ADD COLUMN IF NOT EXISTS.
  • Dovresti avere alcune conoscenze di base di PostgreSQL per seguire le istruzioni fornite in questo articolo.

La sintassi Postgres SE NON ESISTE

Inizieremo con una rapida occhiata alla sintassi per l’opzioneIF NOT EXISTS in un’istruzioneALTER TABLE :

1
2
ALTER TABLE NOME_TABELLA
AGGIUNGI COLONNA SE NON ESISTE column_name

andiamo a discutere questa sintassi un po ‘ più nel dettaglio:

  • in Primo luogo, dobbiamo specificare il nome della tabella a cui si desidera aggiungere una colonna.
  • Forniamo l’opzioneIF NOT EXISTS dopo la clausolaADD COLUMN, quindi specifichiamo il nome della colonna e il suo tipo di dati.

L’opzione IF NOT EXISTS controllerà se il nome della colonna specificato esiste nella tabella. Con questa opzione, non verrà restituito alcun errore se si tenta di aggiungere una colonna già esistente.

Postgres SE NON ESISTE esempio

Prima di procedere, bisogna creare una tabella di esempio per l’utilizzo nei nostri esempi:

1
2
3
4
5
CREATE TABLE impiegati(
id SERIALE CHIAVE PRIMARIA,
nome VARCHAR(50),
POSIZIONE VARCHAR(50)
);

La tabella denominata employees è ora creata.

Aggiungi colonna

Ora, proviamo ad aggiungere una nuova colonna alla nostra tabella con lo stesso nome di colonna di una colonna esistente. Useremo la seguente ALTER TABLE dichiarazione:

1
2
ALTER TABLE impiegati AGGIUNGI COLONNA nome VARCHAR(50);
ERRORE: La COLONNA “nome” DELLA relazione “dipendenti” ESISTE già

Questa istruzione restituisce un errore perché la colonna “nome” nella employees tabella esiste già. Per evitare questo errore, possiamo semplicemente usare l’opzioneIF NOT EXISTS. Vediamo come appare la nostra dichiarazione con questa opzione in atto:

1
2
3
ALTER TABLE impiegati AGGIUNGERE COLONNA, SE NON ESISTE, nome VARCHAR(50);
AVVISO: La COLONNA “nome” DELLA relazione “dipendenti” ESISTE già, saltando
ALTER TABLE

NOTA: La dichiarazione di cui sopra non ha restituito un errore, ma lo ha fatto visualizzare un messaggio di avviso che una colonna con lo stesso nome esiste già.

Cosa pensi accadrà se provi ad aggiungere una colonna con lo stesso nome di una colonna esistente ma un tipo di dati diverso? Proviamolo e vediamo:

1
2
3
ALTER TABLE employees ADD COLUMN IF NOT EXISTS name TEXT;
AVVISO: La COLONNA ” nome “DELLA relazione” dipendenti”ESISTE già, saltando
ALTER TABLE

La colonna non verrà ancora aggiunta perché esiste già una colonna con lo stesso nome.

Conclusione

Quando è necessario apportare una modifica a una delle tabelle PostgreSQL, è facile aggiungere, eliminare o rinominare una colonna utilizzando l’istruzioneALTER TABLE; tuttavia, potrebbe verificarsi un errore se si tenta di aggiungere una colonna già esistente. Per evitare eventuali errori, è possibile utilizzare l’opzioneIF ALREADY EXISTS dopo la clausolaADD COLUMN nell’istruzioneALTER TABLE. In questo articolo, abbiamo discusso l’istruzione Postgres ADD COLUMN IF ALREADY EXISTS e abbiamo esaminato alcuni esempi di come usarlo. Con i nostri esempi e istruzioni passo-passo, sarete in grado di aggiungere colonne a una tabella senza incontrare errori nel proprio database PostgreSQL.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *