Kuinka suorittaa Postgres ADD-sarake, jos sitä ei ole

Johdanto

PostgreSQL: ssä ALTER TABLE lauseketta voidaan käyttää taulukon lisäämiseen, poistamiseen tai muokkaamiseen. Jos taulukkoon halutaan lisätä sarake, ADD COLUMN lauseke ALTER TABLE lauseke. Kuitenkin, kohtaat virheen, jos yrität lisätä sarakkeen, joka on jo olemassa. Virhe on helppo välttää käyttämällä IF NOT EXISTS – vaihtoehtoa ADD COLUMN – lauseketta. Tämä asetus ohjaa PostgreSQL: ää lisäämään uuden sarakkeen vain, jos sarakkeen nimeä ei ole taulukossa. Tässä artikkelissa, otamme tarkemmin Postgres lisätä sarakkeen jos ei ole olemassa komento ja tarkistaa joitakin esimerkkejä sen käytöstä.

Edeltävät opinnot

saadaksesi kaiken irti tästä opetusohjelmasta, sinun on varmistettava, että pari ehtoa on olemassa:

  • PostgreSQL on asennettava tietokoneellesi, jotta voit testata esimerkejämme Postgres ADD-sarakkeesta, jos sitä ei ole olemassa-komennosta.
  • sinulla pitäisi olla jonkin verran perustietoa PostgreSQL: stä, jotta voit noudattaa tässä artikkelissa annettuja ohjeita.

The Postgres IF NOT exist syntax

we ’ ll beginning with a quick look the syntax for the IF NOT EXISTS option in an ALTER TABLE statement:

1
2
ALTER TABLE TABLE_NAME
ADD COLUMN IF NOT exist column_name

keskustellaan tästä syntaksista hieman tarkemmin:

  • ensin täsmennetään sen taulukon nimi, johon haluamme lisätä sarakkeen.
  • annamme IF NOT EXISTS – vaihtoehdon ADD COLUMN – lausekkeen jälkeen, minkä jälkeen määritämme sarakkeen nimen ja sen tietotyypin.

IF NOT EXISTS – valinta tarkistaa, onko taulukossa annettu sarakkeen nimi olemassa. Kun tämä asetus on käytössä, virhettä ei palauteta, jos yrität lisätä jo olemassa olevan sarakkeen.

Postgres jos ei ole olemassa esimerkkiä

ennen kuin edetään, luodaan esimerkkitaulukko, jota käytetään esimerkeissämme:

1
2
3
4
5
Create table employees(
id serial primary key,
name varchar(50),
position varchar(50)
);

employees on nyt luotu taulukko.

Lisää sarake

nyt yritetään lisätä taulukkoon uusi sarake, jolla on sama sarakenimi kuin olemassa olevalla sarakkeella. ALTER TABLE statement:

1
2
Alter Table employees add sarakkeen nimi varchar(50);
virhe: Suhdehenkilöiden sarake ”nimi”on jo olemassa

tämä lausunto palauttaa virheen, koska employees taulukko on jo olemassa. Virheen välttämiseksi voidaan käyttää vain IF NOT EXISTS – vaihtoehtoa. Katsotaan, miltä lausuntomme näyttää, kun tämä vaihtoehto on käytössä:

1
2
3
ALTER TABLE employees ADD COLUMN if NOT exist name VARCHAR(50);
notice: sarakkeen ”name” of relation ”employees” already exist, skippaa
alter table

huomautus: yllä oleva lausunto ei palauttanut virhettä, mutta se näytti viestin, jossa ilmoitettiin, että samanniminen sarake on jo olemassa.

Mitä luulet tapahtuvan, jos yrität lisätä sarakkeeseen olemassa olevan sarakkeen samannimisen mutta eri tietotyypin? Kokeillaan:

1
2
3
ALTER TABLE employees ADD COLUMN IF NOT exist name Text;
notice: SUHDEHENKILÖIDEN sarake ”nimi” on jo olemassa, ohitetaan
ALTER-taulukko

saraketta ei edelleenkään lisätä, koska samanniminen sarake on jo olemassa.

johtopäätös

kun sinun on tehtävä muutos johonkin PostgreSQL-taulukostasi, on helppo lisätä, poistaa tai nimetä sarake uudelleen käyttämällä ALTER TABLE lauseketta; virhe voi kuitenkin tapahtua, jos yrität lisätä jo olemassa olevaa saraketta. Mahdollisten virheiden välttämiseksi voit käyttää IF ALREADY EXISTS – vaihtoehtoa ADD COLUMN – lausekkeen jälkeen ALTER TABLE lauseketta. Tässä artikkelissa, keskustelimme Postgres lisätä sarake jos jo olemassa lausuma ja tarkasteli joitakin esimerkkejä siitä, miten sitä käytetään. Esimerkeillämme ja vaiheittaisilla ohjeillamme voit lisätä sarakkeita taulukkoon kohtaamatta virheitä omassa PostgreSQL-tietokannassasi.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *